如何将类型为对象数组的 json 集合 arr 中的 price 属性累加计算,生成 obj_1 或 arr_1 ?
用原生 js 的 for 循环 或 underscore 如何实现?
var arr = [
{ id:1, name: '商户1', price: 400 },
{ id:3, name: '商户3', price: 200 },
{ id:2, name: '商户2', price: 100 },
{ id:1, name: '商户1', price: 200 },
{ id:4, name: '商户4', price: 800 },
{ id:2, name: '商户2', price: 600 },
{ id:1, name: '商户1', price: 400 }
];
var obj_1 = {
1: { name: '商户1', price: 1000 },
2: { name: '商户2', price: 700 },
3: { name: '商户3', price: 200 },
4: { name: '商户4', price: 800 },
}
var arr_1 = [
{ id:1, name: '商户1', price: 1000 },
{ id:2, name: '商户2', price: 700 },
{ id:3, name: '商户3', price: 200 },
{ id:4, name: '商户4', price: 800 },
];
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
试试这个
这种情况通常都可以用数组的reduce方法实现。
参考这里 reduce方法
array.reduce(callback,initvalue);
如果你最终想得到一个Object,那initvalue就传一个 {}
如果你最终想得到一个Array,那initvalue就传一个 []