![](/img/trans.png)
[英]JavaScript - Count and remove duplicates from array of objects with es6
[英]Remove duplicates from array of nested Objects and group unique objects in es6
在这里学习蜜蜂。
请使用 ES6 帮助我理解这一点。 我正在努力使用 reduce、set 等来理解其他类似的帖子。非常感谢任何帮助。 谢谢 !
我无法完全理解您所说的重复和删除它们的含义。 我认为,您尝试实现的是,将 SKUBACODE 和 SKUQUANTITY 聚合到一个数组中,并将所有相关元数据添加到该 object 中。 假设每个 SKUBACODE 在每个 ORDERCLIENTREF 中只存在一次,并且所有其他元数据都是不变的。
desired_output = json_array
.filter((group) => group != null && group.length > 0)
.map((group) => {
// create a hash map for sku
const skuMap = group.reduce((acc, curr) => acc.set(curr.SKUBARCODE, SKUQUANTITY), new Map());
const new_obj = group[0];
new_obj.SKUBARCODE = undefined;
new_obj.SKUQUANTITY = undefined;
// generate output of hash map
new_obj.ORDERLINES = [...skuMap].map(([code, quant]) {
return {
SKUBARCODE: code,
SKUQUANTITY: quant
};
});
return new_obj;
});
看起来您正在尝试做的只是从一组对象中获取这两个字段(SKUBARCODE、SKUQUANTITY)。 你可以试试这样
const groupOfSimilarObejcts = grouped.reduce((accumulated, currentGroup) => {
return {
...currentGroup,
ORDERLINES: [...currentGroup, {
SKUBARCODE: currentGroup.SKUBARCODE,
SKUQUANTITY: currentGroup.SKUQUANTITY
}]
};
}, {});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.