【发布时间】:2021-10-07 19:02:23
【问题描述】:
我想创建 [10,10,10,10,10,10,10,10,10,4,4,4] 的子数组,每个子数组的总和为不大于100,所以结果应该是[[10,10,10,10,10,10,10,10,10,4,4],[4]]
我在下面尝试过,但不知道问题出在哪里
const arr=[10,10,10,10,10,10,10,10,10,4,4,4]
const result=[]
let sum=0
let temp=[]
for(let i=0; i<arr.length;i++){
if(sum+arr[i]<=100){
sum+=arr[i]
temp.push(arr[i])
}else{
result.push(temp)
sum=0
temp.length=0
temp.push(arr[i])
sum+=arr[i]
}
}
console.log(result) //[ [ 4 ] ]
【问题讨论】:
-
将
temp.length=0更改为temp = []
标签: javascript algorithm