【发布时间】:2019-12-17 07:43:02
【问题描述】:
我在一个 ReactJS 应用程序中工作,在该应用程序中我检索包含一些产品的 JSON,并且我需要重组此信息以便对信息进行分类和显示。
我已经尝试过过滤器和地图,但结果不如预期。
[
{
"barcode": "8434786768366",
"collection": "AW",
"colorCode": "413",
"colorName": "LIGHT WINE",
"familyCode": "1",
"familyName": "T-Shirts",
"genericProduct": "PM506471",
"id": 263917,
"productCode": "PM506471413S",
"productName": "T-SHIRT",
"productNameLang": "en",
"season": "2019",
"size": "S",
"subfamilyName": "SS T-Shirts"
},
{
"barcode": "8434786768342",
"collection": "AW",
"colorCode": "413",
"colorName": "LIGHT WINE",
"familyCode": "1",
"familyName": "T-Shirts",
"genericProduct": "PM506471",
"id": 263921,
"productCode": "PM506471413L",
"productName": "T-SHIRT",
"productNameLang": "en",
"season": "2019",
"size": "L",
"subfamilyName": "SS T-Shirts"
}
]
这是我正在使用的示例,尽管原始数组要大得多。我需要能够找到所有具有相同“genericProduct”的对象并将它们合并到一个对象中,以删除重复项。但是,我需要保留信息而不是覆盖它。
按照上面的例子,这两个对象应该合并成这样的东西:
[
{
"barcode": ["8434786768366", "8434786768342"],
"collection": "AW",
"colorCode": "413",
"colorName": "LIGHT WINE",
"familyCode": "1",
"familyName": "T-Shirts",
"genericProduct": "PM506471",
"id": [263917, 263917],
"productCode": ["PM506471413S","PM506471413L"],
"productName": "T-SHIRT",
"productNameLang": "en",
"season": "2019",
"size": ["S","L"],
"subfamilyName": "SS T-Shirts"
}
]
作为一个tl;dr,我需要在一个对象数组中进行迭代以查看哪些具有相同的“genericProduct”键,然后检查每个属性以查看它是否不同。如果是,我需要将所述属性转换为存储所有值的数组,为两个或更多。
【问题讨论】:
-
我们可以看看你已经尝试了什么吗? stackoverflow.com/help/how-to-ask
标签: javascript arrays json reactjs object