将两个对象数组合并在一起

时间:2021-07-14 09:42:15

标签: javascript

我有两个对象数组,我想将它们合并在一起,以便我可以映射它们并在前端显示数据。

const arr1 = [{id: 1, symbol: "France", position: "South"},{id: 2, symbol: "Sweden", city: "Malmo"}]

const arr2 = [{id: 1, symbol: "USA", city: "Los angeles"},{id: 2, symbol: "France", city: "Paris"}]

预期输出:

const arr3 =[{id: 1, symbol: "France", city: "Paris", position: "South"}, {id: 1, symbol: "USA", city: "Los angeles"} ]

这是我的解决方案,但我没有得到我想要的输出。

const arr1 = [{id: 1, symbol: "France", position: "South"},{id: 2, symbol: "Sweden", city: "Malmo"}]
const arr2 = [{id: 1, symbol: "USA", city: "Los angeles"},{id: 2, symbol: "France", city: "Paris"}]

const countries = arr1.map((item, i) => {
  return Object.assign({}, item, arr2[i]);
});

console.log(countries)

2 个答案:

答案 0 :(得分:0)

你可以像这样使用concat来合并两个数组

    const arr1 = [{id: 1, symbol: "France", position: "South"},{id: 2, symbol: "Sweden", city: "Malmo"}]
    const arr2 = [{id: 1, symbol: "USA", city: "Los angeles"},{id: 2, symbol: "France", city: "Paris"}]
    
    const countries = arr1.concat(arr2)
    console.log(countries)

答案 1 :(得分:0)

根据您的问题,您的预期输出是不可能的。 如果你正在寻找这样的东西,我的回答可能对你有帮助

const arr1 = [{id: 1, symbol: "France", position: "South"},{id: 2, symbol: "Sweden", city: "Malmo"}];
const arr2 = [{id: 1, symbol: "USA", city: "Los angeles"},{id: 2, symbol: "France", city: "Paris"}];
const arr3 = [...arr1,...arr2];
console.log(arr3);