现在想把一个数组根据指定大小进行分割,
chunk(arr, 10)
把数组分割成每块总和小于等于10,请教各位大神
let arr = [15,1,3,4,3,4,10,7,19]
function chunk(arr, sum) {
}
// [[15], [1, 3, 4], [3, 4], [10], [7], [19]]
现在想把一个数组根据指定大小进行分割,
chunk(arr, 10)
把数组分割成每块总和小于等于10,请教各位大神
let arr = [15,1,3,4,3,4,10,7,19]
function chunk(arr, sum) {
}
// [[15], [1, 3, 4], [3, 4], [10], [7], [19]]
let arr = [15, 1, 3, 4, 3, 4, 10, 7, 19];
let chunk = arr.reduce((arr, num) => {
const n = arr[arr.length - 1];
if (n.length && n.reduce((a, b) => a + b, num) > 10) {
arr.push([num]);
} else {
n.push(num);
}
return arr;
}, [[]]);
console.log(chunk);
var arr = [15,1,3,4,3,4,10,7,19],
o = [0],
newArr = [];
arr.reduce(function (p, v, index) {
p + v > 10 ? o.push(index) : false;
return p + v > 10 ? v : p + v;
});
for(var i = 0; i < o.length; i++) {
newArr.push(arr.slice(o[i], o[i+1]))
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决