您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JavaScript如何找到数字数组的总和

JavaScript如何找到数字数组的总和

Array.prototype.reduce可用于遍历数组,将当前元素值添加到先前元素值的总和中。

console.log(

  [1, 2, 3, 4].reduce((a, b) => a + b, 0)

)

console.log(

  [].reduce((a, b) => a + b, 0)

)

您收到TypeError

console.log(

  [].reduce((a, b) => a + b)

)
console.log(

  [1,2,3].reduce(function(acc, val) { return acc + val; }, 0)

)



console.log(

  [].reduce(function(acc, val) { return acc + val; }, 0)

)

如果非数字是可能的输入,您可能要处理呢?

console.log(

  ["hi", 1, 2, "frog"].reduce((a, b) => a + b)

)



let numOr0 = n => isNaN(n) ? 0 : n



console.log(

  ["hi", 1, 2, "frog"].reduce((a, b) =>

    numOr0(a) + numOr0(b))

)

我们可以使用eval执行JavaScript代码的字符串表示形式。使用Array.prototype.join函数将数组转换为字符串,我们将[1,2,3]更改为“1 + 2 + 3”,其结果为6。

console.log(

  eval([1,2,3].join('+'))

)



//This way is dangerous if the array is built

// from user input as it may be exploited eg:



eval([1,"2;alert('MalicIoUs code!')"].join('+'))

当然,显示警报并不是可能发生的最糟糕的事情。我将其包括在内的唯一原因是作为对Ortund问题的回答,因为我认为这没有得到澄清。

javascript 2022/1/1 18:16:09 有344人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶