我想找到数组中所有数字的总和。当用户单击页面上的图像时,数字将被插入数组。由于数组不断更新,我是否需要使用 for 循环或其他不同的东西?
我试过使用 .reduce() 和箭头函数,但没有成功。控制台返回一个错误,指出数组中没有初始值,所以我将数字 0 放在那里,但该函数不会包含任何被插入的数字。
//user clicks HTML element
$("#yellowcrystal").on('click', function () {
//value of number must differ from the other clicked HTML elements
if (yellowCrystalNum !== redCrystalNum && yellowCrystalNum !==
blueCrystalNum && yellowCrystalNum !== greenCrystalNum){
crystals.push(yellowCrystalNum);
} else {
yellowCrystalNum = Math.floor(Math.random() * 13) + 1;
}
});
//empty array to hold values
var crystals = []
最佳答案
大概是这样的?
//user clicks HTML element
var crystals = []
var sum = 0;
$("#yellowcrystal").on('click', function () {
//value of number must differ from the other clicked HTML elements
if (yellowCrystalNum !== redCrystalNum && yellowCrystalNum !==
blueCrystalNum && yellowCrystalNum !== greenCrystalNum){
crystals.push(yellowCrystalNum);
// use it here maybe
sum = arrsum(crystals)
} else {
yellowCrystalNum = Math.floor(Math.random() * 13) + 1;
}
});
function arrsum(arr) {
return arr.reduce(function(xs, x) {
return xs + x
}, 0)
}
关于javascript - 如何将被插入最初为空的数组的索引项相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57351628/