我想把这两个数组合并成一个数组。我希望对所有相同的ID信息进行筛选,以便只显示一次,使其成为一个包含姓名、年龄、职业和地址的简单列表。
我试过简单地用拼接法,过滤法来确定信息…但我似乎找不到正确的答案。

var a = [{
  id: 'aBcDeFgH',
  firstName: 'Juan',
  lastName: 'Doe',
  age: 32
 },
{
  id: 'zYxWvUt',
  firstName: 'Alex',
  lastName: 'Smith',
  age: 24
}]


var b = [{
  id: 'aBcDeFgH',
  occupation: 'architect',
  address: {
    street: '123 Main St',
    city: 'CityTown',
    Country: 'USA'
  }
},
{
  id: 'zYxWvUt',
  occupation: 'receptionist',
  address: {
    street: '555 Ocean Ave',
    city: 'Beach City',
    Country: 'USA'
  }
}]

我总是在concat之后得到一个列表,但是我不知道如何过滤相同的信息。

最佳答案:

听起来您需要将每个数组的每个项合并到一起—而且它们的顺序都是相同的,在这种情况下,您可以执行以下操作:

const newList = []

a.forEach((item, index) => {
  newList.push({
    ...item,
    ...b[index]
  })
})

console.log(newList)