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);