首页 > 解决方案 > 如何为相同的键但不同的值创建单个数组

问题描述

如何在具有唯一productId但具有不同productImage且具有相同productId的nodeJs中为相同键但不同值创建单个数组我想要productImage应该是一个数组并且具有相同productId,productImages在这个productImage数组中。

var data = [
   {
      "productID":18,
      "productTitle":"Watch",
      "productImage":"1588148225540.jpg"
   },
   {
      "productID":18,
      "productTitle":"Watch",
      "productImage":"15881482433232.jpg"
   },
   {
      "productID":19,
      "productTitle":"Shirt",
      "productImage":"1588148214343.jpg"
   }
]

我的预期输出应该是:

[
   {
      "productID":18,
      "productTitle":"Watch",
      "productImage":[
         "1588148225540.jpg",
         "15881482433232.jpg"
      ]
   },
   {
      "productID":19,
      "productTitle":"Shirt",
      "productImage":[
         "1588148214343.jpg"
      ]
   }
]

标签: javascriptarraysnode.jsjsonarraylist

解决方案


您可以使用库中uniqBy的功能lodash

const result = _.uniqBy(products, 'productID');

推荐阅读