javascript - 怎么求数组中某一值得数量总和?
天蓬老师
天蓬老师 2017-04-11 11:32:22
[JavaScript讨论组]
                    var len = result.data.length;
                    for(var i=0;i<len;i++){
                          var nu= parseInt(result.data[i].goods_number);
                    }

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
PHPz
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
高洛峰

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

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);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号