gpt4 book ai didi

javascript - 检查并转换 JavaScript 数组中的重复对象

转载 作者:行者123 更新时间:2023-12-03 00:56:09 25 4
gpt4 key购买 nike

我有一个数组,例如

[ { key: 'NAME', value: 'JAY'},
{ key: 'AGE', value: '65'},
{ key: 'YEAR', value: '2017'},
{ key: 'PLACE', value: 'Delhi'},
{ key: 'PLACE', value: 'Mumbai'},
{ key: 'YEAR', value: '2018'}
]

想要根据重复键将其转换为下面的列表

[ { key: 'NAME', value: ['JAY']},
{ key: 'AGE', value: ['65']},
{ key: 'YEAR', value: ['2017','2018']},
{ key: 'PLACE', value: ['Delhi','Mumbai']}
]

请帮忙..

最佳答案

您可以通过传递回调提供的函数作为参数来使用reduce方法。

var array = [ { key: 'NAME', value: 'JAY'},
{ key: 'AGE', value: '65'},
{ key: 'YEAR', value: '2017'},
{ key: 'PLACE', value: 'Delhi'},
{ key: 'PLACE', value: 'Mumbai'},
{ key: 'YEAR', value: '2018'}
]

let result = array.reduce(function(arr, item){
let foundElem = arr.find(elem => elem.key === item.key);
if(!foundElem)
arr.push({key : item.key, value : [item.value]});
else
foundElem.value.push(item.value);
return arr;
}, []);
console.log(result);

关于javascript - 检查并转换 JavaScript 数组中的重复对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52831070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com