我希望我能向自己解释正确。 我需要编写一个获取数字数组并返回范围数组的函数(如果有)。
例如:
[1,2,3,5,6,8,9,10]
-----> [[1,2,3],[5,6],[8,9,10]]
答案 0 :(得分:1)
如果增量不是一个,则可以检查先前的值并插入一个新数组。
var array = [1, 2, 3, 5, 6, 8, 9, 10],
result = array.reduce((r, v, i, { [i - 1]: p }) => {
if (p === v - 1) r[r.length - 1].push(v);
else r.push([v]);
return r;
}, []);
console.log(result);