javascript - 如何将被插入最初为空的数组的索引项相加?

标签 javascript arrays

我想找到数组中所有数字的总和。当用户单击页面上的图像时,数字将被插入数组。由于数组不断更新,我是否需要使用 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/

相关文章:

javascript - 如何使用数组在 li 中插入文本?

python - 使用不同长度的数组列表索引一维数组

javascript - Rails : How do I use a javascript variable outside <script. ../> 但在 View 内部?

javascript - WebGL - 顶点着色器调用的变量数组大小

javascript - 通过 jquery 或 javascript 限制复选框检查

javascript - 如何将数据转换为这样的结构

javascript - JQuery 选择动态变量

javascript - Angular DI 可以在模块和 Controller 级别工作吗?

java - 求 int 数组的总和 - 忽略 6 和 7 之间的所有数字(含 6 和 7)

javascript - 如何将字符串数组的 JavaScript 数组转换为 C# 数据结构?