首页 > 怎么求数组中某一值得数量总和?

怎么求数组中某一值得数量总和?

                    var len = result.data.length;
                    for(var i=0;i<len;i++){
                          var nu= parseInt(result.data[i].goods_number);
                    }

请问大家,怎么求 nu的总和,谢谢


nu写在for循环外面就可以了。

var nu = 0;
var len = result.data.length;
for(var i=0; i<len; i++){
  nu += parseInt(result.data[i].goods_number);
}

console.log(nu);

var result = {
  data: [
    {goods_number: 3},
    {goods_number: 4},
    {goods_number: 5},
    {goods_number: 6}
  ]
};

/**
for (var i = 0, nu = 0, l= result.data.length; i< l; i++) {
  nu += result.data[i].goods_number;
}
*/

// ES5的reduce
var nu = result.data.reduce((prev, next) => (prev + next.goods_number), 0); 

console.log(nu);    // 18

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

var data = [1,3,5];
var total = data.reduce(function(a,b) {
 return a + b;
});

就觉得用reduce高大上而已...

用在你这对象这里就有点麻烦了...

var data = [{name:'a',num:1},{name:'b',num:3},{name:'c',num:5}];
var total = data.reduce(function(a,b,i) {
    return data.length -1 == i ? a.num + b.num : {num:a.num + b.num};
});

还是用得不熟
reduce有第二个参数初始值

var data = [{name:'a',num:1},{name:'b',num:3},{name:'c',num:5}];
var total = data.reduce(function(a,b,i) {
    return a+ b.num;
},0);
【热门文章】
【热门文章】