gpt4 book ai didi

Javascript:匹配多个对象数组中的对象+别名

转载 作者:行者123 更新时间:2023-12-03 03:07:03 27 4
gpt4 key购买 nike

我想匹配多个数组,并在匹配时构建另一个数组。该键可以在任意数量的数组中匹配,也可以根本不匹配。

[ [{ 'a': 13 }, { 'b': 62 }, { 'c': 93 }, { 'd': 52 }],
[{ 's': 15 }, { 'y': 15 }, { 'x': 78 }, { 'd': 84 }],
[{ 't': 35 }, { 'd': 33 }, { 'x': 12 }, { 'c': 62 }] ]

期望的结果:

[ {label: c,  arr1: 93,    arr2: null,  arr3: 63},
{label: d, arr1: 52, arr2: 84, arr3: 33},
{label: x, arr1: null, arr2: 78, arr3: 12} ]

.

label   arr1    arr2    arr3
============================
c 93 null 62
d 52 84 33
x null 78 12

随之而来的是一个更高级的问题。是否可以为某些键添加别名。例如。也许“b”也称为“y”,“s”也称为“t”。

最佳答案

尝试这样的事情:

let output = [];
let aliases = {'b': ['y'], 's': ['t']};
let totalArrays = yourArray.length;

yourArray.forEach((innerArray, i) =>
innerArray.forEach(obj =>{
for(var key in obj){
let current = output.find(e => e.label == key || (aliases[e.label] || []).indexOf(key) !== -1);
if(!current){
current = { label: key };
for(let i = 0; i < totalArrays; i++){
current['arr' + (i + 1)] = null;
}
output.push(current);
}

current['arr'+ (i +1)] = obj[key];
}
}));

关于Javascript:匹配多个对象数组中的对象+别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47121507/

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