用 JavaScript 解析数组成相等间隔
假设,我们需要写一个函数,称为 parseEqualInterval(),它将严格包含两个元素的数字数组作为第一个参数和数字 n 作为第二个参数,并且在原始数组的两个实际元素之间插入 n-1 个等距条目,使之划分为 n 个相等的间隔。
例如 −
// if the input array is const arr = [12, 48]; // and the interval is 4 //then the output array should be: const output = [12, 21, 30, 39, 48];
通过这种方式,该数组被分成 4 个相等的间隔。因此,让我们编写此函数的代码 −
示例
const arr = [12, 48]; const parseEqualInterval = (arr, interval) => { const [first, second] = arr; const size = (second-first) / interval; for(let i = 1, el = first+size; i < interval; i++, el += size){ arr.splice(i, 0, Math.round((el + Number.EPSILON) * 100) / 100); }; }; parseEqualInterval(arr, 4); console.log(arr); parseEqualInterval(arr, 6); console.log(arr); parseEqualInterval(arr, 10); console.log(arr); parseEqualInterval(arr, 15); console.log(arr);
输出
控制台中的输出将如下所示 −
[ 12, 21, 30, 39, 48 ] [ 12, 13.5, 15, 16.5, 18, 19.5, 21, 30, 39, 48 ] [ 12, 12.15, 12.3, 12.45, 12.6, 12.75, 12.9, 13.05, 13.2, 13.35, 13.5, 15, 16.5, 18, 19.5, 21, 30, 39, 48 ] [ 12, 12.01, 12.02, 12.03, 12.04, 12.05, 12.06, 12.07, 12.08, 12.09, 12.1, 12.11, 12.12, 12.13, 12.14, 12.15, 12.3, 12.45, 12.6, 12.75, 12.9, 13.05, 13.2, 13.35, 13.5, 15, 16.5, 18, 19.5, 21, 30, 39, 48 ]
广告