gpt4 book ai didi

javascript - 通过删除 javascript 中的重复项来组合对象数组

转载 作者:行者123 更新时间:2023-11-30 16:39:51 26 4
gpt4 key购买 nike

我有一个数据对象

data : [
["1", 20],
["1", 24],
["1", 2],
["1", 32],
["1", 23],
["1", 80],
["2", 3],
["2", 32],
["2", 34],
["2", 36],
["2", 36]]

现在我希望对象像这样分组,即“1”分组在一个数组中,“2”也是如此

"data" : [
["1", [20, 24, 2, 32, 23, 80]],
["2", [3, 32, 34, 36, 36]]
]

最佳答案

试试这个(fiddle - 查看控制台):

var obj = {
data : [
["1", 20],
["1", 24],
["1", 2],
["1", 32],
["1", 23],
["1", 80],
["2", 3],
["2", 32],
["2", 34],
["2", 36],
["2", 36]]
};

function group(data) {
var mapObj = data.reduce(function (map, item) { // create a map of the key: [values]
var key = item[0];
var value = item[1];
map[key] && map[key].push(value) || (map[key] = [value]);
return map;
}, {});

return Object.keys(mapObj).map(function (key) { // map the keys and values back to arrays
return [key, mapObj[key]];
});
}

var newObj = {
data: group(obj.data)
};

关于javascript - 通过删除 javascript 中的重复项来组合对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32160591/

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