我正在使用 ReactJS,我想做一些检查和更新状态
示例:我有一个像这样的数组: const array=[70, 180, 70, 70] 和另一个值 const totalValue=350
我想映射数组并将每个元素添加到前一个元素,当数量大于totalValue时我应该停止并更新状态。
例如:70 + 180 = 250 所以我应该继续 70+80+70 = 320 我应该继续
70+180+70+70=390; 所以我应该停止并将我的状态更新为 3(3 是我停止时数组的长度)
我尝试过地图和一些数组[索引],但很难理解.. 这是我尝试过的:
[ 70, 180, 70, 70 ].map((el,index,array) => {
return el + array[index]
})
对不起我的英语
[ 70, 180, 70, 70 ].map((el,index,array) => { return el + array[index] })
这只是使用 for 循环来实现您需要的结果。但这可能不是最好的方法。
const totalValue = 350
const array = [70,180,70,70]
function calcSumAndState(total, arr) {
var sum = 0,i = 0
for (i = 0; i<arr.length; i++) {
sum+=arr[i]
if (sum > total) {
break;
}
}
return {
sum:sum,
state:i
}
}
var s = calcSumAndState(totalValue, array)
console.log(s.sum)
console.log(s.state)