首页 > 解决方案 > Angular 2 如何将两个相等的索引数组合并为一个?

问题描述

例如,如果我有两个相等的索引数组:

A [
{name: Jhon}
{name: Jacob}
{name: Lukas}
]

B [
{fr: Prince} //fr, en, it is language, Prince is LastName
{en: Breed}
{it: Lasontos}
]

如何将其合并为一个,如下所示:

 A [
    {name: Jhon, lastname: Prince, country: fr }
    {name: Jacob, lastname: Breed, country: en}
    {name: Lukas, lastname: Lasontos, country: it}
    ]

标签: javascriptangulartypescript

解决方案


应用于第一个对象数组的用途Object.assign(obj1, obj2)和方法。map()

var arr = [
  {firstname: 'John'},
  {firstname: 'Hello'}
]

var arr2 = [
  {fr: 'Here'},
  {en: 'There'}
]

arr.map((obj, index) => {

  var internalization = {
    country: Object.keys(arr2[index])[0],
    lastname: arr2[index][Object.keys(arr2[index])[0]]
  }

  return Object.assign(obj, internalization);
})

console.log(arr);

工作小提琴:

https://jsbin.com/wepibuwazi/1/edit?js,console,output


推荐阅读