【发布时间】:2020-10-18 17:35:44
【问题描述】:
我有一个对象obj,其中如何删除info 中的重复项并将数量之和qty 应用于javascript 中的键total。
如何删除数组对象中的重复项并将 sum 应用于 javascript 中的特定键。
function newList (obj){
return obj.map(i=>({
...i,
total: i.info.map(e => e.qty).reduce((prev, curr) => prev + curr, 0)
}));
}
var obj =[
{id:1, info:[{idx:1, qty: 1}, {idx:2, qty: 2},{idx:2, qty: 2}], code: "sample1", total: 1},
{id:2, info:[{idx:3, qty: 2}, {idx:4, qty: 2}], code: "sample2", total: 2}
]
预期输出:
[
{id:1, info:[{idx:1, qty: 1}, {idx:2, qty: 2}], code: "sample1", total: 3},
{id:2, info:[{idx:3, qty: 2}, {idx:4, qty: 2}], code: "sample2", total: 4}
]
【问题讨论】:
-
这能回答你的问题吗? How to get unique values in an array
-
这对你的问题有帮助吗stackoverflow.com/questions/9229645/…
-
使用
filter或reduce -
我认为您在预期结果中显示的总计没有添加总计的原始值。请你确认一下。我认为总数应该是 4 和 6
标签: javascript arrays object nested-object