javascript - 如何为相同的键但不同的值创建单个数组
问题描述
如何在具有唯一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"
]
}
]
解决方案
您可以使用库中uniqBy
的功能lodash
const result = _.uniqBy(products, 'productID');
推荐阅读
- c++ - Picam 落后 5 帧,使用 OpenCV (C++)
- wso2esb - java.lang.ClassNotFoundException:synapse-core_2.1.7.wso2v7 找不到 xyzBasicAuthHandler
- php - php 将 POST['integer string'] 与数据库中的整数进行比较
- shell - 扫描文件的每一行并查找匹配 (|##|) ,如果找到,则在下一行前面添加双引号
- python - Python - 使用排序操作列和行 - 重塑
- jquery - Mmenu Wordpress 插件问题 - 菜单只打开一次
- string - 将两个文本字符串与选项严格分开
- r - R为非数字参数应用中断
- wso2 - 使用 rest api 创建 wso2 应用程序,
- mysql - 从字符串中删除破折号和前导零