首页 > 解决方案 > 删除对象数组 javascript/react-native 中的两个重复字段之一

问题描述

我有一个返回名称的对象数组:字符串和数量:数字,问题是我在数组中有许多对象具有相同的名称字段值但数量值不同,所以我想显示每个对象的所有数量的总和重名。我的代码在这里:

const productsArray = [{ name: "lamp", quantity: 10 }, {name: "glass", quantity: 4}, {name:"lamp", quantity: 5}]

灯是重复的,但它有不同的数量值,所以我想将这些数量值合并为一个总量并只显示一次名称。

期望的结果

产品名称:灯产品数量:15

产品名称:玻璃产品数量:4

请帮忙

标签: javascriptarraysreactjsreact-nativeduplicates

解决方案


这是一种选择:-

const productsArray = [{ name: "lamp", quantity: 10 }, {name: "glass", quantity: 4}, {name:"lamp", quantity: 5}]


var output = [];

productsArray.forEach(function(item) {
  var existing = output.filter(function(v, i) {
    return v.name == item.name;
  });
  if (existing.length) {
    var existingIndex = output.indexOf(existing[0]);
    output[existingIndex].quantity += item.quantity;
  } else {
    output.push(item);
  }
});

console.dir(output);


推荐阅读