【问题标题】:How to match same values in the array如何匹配数组中的相同值
【发布时间】:2022-11-19 22:20:17
【问题描述】:
例如,如果这是我的数组:
[
{a: "b"},
{a: "b"},
{a: "c"},
{a: "c"},
]
我如何修改数组,以便如果有更多具有相同值的a,它们将被放入相同的索引中:
[
{
a: "b",
a1: "b"
},
{
a: "c",
a1: "c"
},
]
【问题讨论】:
标签:
javascript
arrays
typescript
【解决方案1】:
希望这会有所帮助:
var arr = [
{a: "b"},
{a: "b"},
{a: "c"},
{a: "c"}
];
var arr2 = [];
var arr3 = [];
Object.keys(arr).forEach(key => {
Object.keys(arr[key]).forEach(keyx => {
if (!(arr[key][keyx] in arr2)) {
arr2[arr[key][keyx]] = [];
}
var k = keyx;
var x = 1;
var i = true;
while (i === true) {
if (!(k in arr2[arr[key][keyx]])) {
i = false;
arr2[arr[key][keyx]][k] = arr[key][keyx];
}
k = keyx + x;
x++;
}
})
});
for (i in arr2) {
arr3.push(arr2[i]);
}
//arr3 is the expected array