我想将此数组减少到 5 个数字,但要尽可能均匀。所以我需要开始号码,结束号码,然后是中间的号码。
const range = [8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000]
基本上,上面的数组是我拥有的滑块的数据集,我想显示下面的数字,以便用户也可以看到滑块的位置,但是数字太多,无法很好地显示。
不知道如何做到这一点,这是我的尝试,但由于不均匀而导致数字间距奇怪。
const steps = range[range.length - 1] / 5;
const start = range[0];
const stop = range[range.length - 1];
let marks = Array(Math.ceil((stop - start) / steps)).fill(start).map((x, y) => x + y * steps);
marks.push(stop);
console.log(marks);