在forEach循环javascript中加入每个数组?

时间:2016-07-06 08:07:56

标签: javascript arrays

这是我的代码;

mysql -u root

我希望能够将每个数组中的数字加在一起。

但我不确定如何从var data = [[40, 20, 60], [20, 30, 10], [50, 75, 40]]; var averageData = []; data.forEach(function(entries) { entries.reduce(function(a, b) { return a + b[1]; }, 0); console.log(entries); });循环中将每个数字数组加在一起?

根据这些数据,我想输出forEach

重要的是数据在嵌套数组中,目的是尝试将嵌套数组中的数据放到具有上述输出的单行上。

希望有人可以提供一些建议!

由于

3 个答案:

答案 0 :(得分:10)

使用Array#map代替

请注意,b[1]不会保留任何内容(undefined),entries.reduce会返回reduced值,要么将其保留在variable

var data = [
  [40, 20, 60],
  [20, 30, 10],
  [50, 75, 40]
];
var averageData = data.map(function(entries) {
  return entries.reduce(function(a, b) {
    return a + b;
  }, 0);
});

console.log(averageData)

答案 1 :(得分:0)

reduce()将最后返回总和。见如下。



var data = [[40, 20, 60], [20, 30, 10], [50, 75, 40]];
var averageData = []
data.forEach(function(entries) {

    var sum = entries.reduce(function(a, b) {
      return a + b;
    }, 0)
    console.log(sum)

})




答案 2 :(得分:0)

如果您的值是安全的(意味着您知道它来自何处),您可以使用eval快速求和值。

var data = [[40, 20, 60], [20, 30, 10], [50, 75, 40]];
var totals = [];

data.forEach(function(a, i) {
  totals.push(eval(a.join('+')));
});

console.log(totals);

不是最有效的方式,但它有效