代码之家  ›  专栏  ›  技术社区  ›  Angulandy2

角度2如何将两个相等的索引数组合并为一个?

  •  -2
  • Angulandy2  · 技术社区  · 7 年前

    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}
        ]
    
    3 回复  |  直到 7 年前
        1
  •  5
  •   Andrei Todorut    7 年前

    使用 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

        2
  •  1
  •   rozza2058    7 年前

    var A = [
      {name: Jhon}
      {name: Jacob}
      {name: Lukas}
    ]
    
    var B = [
      {fr: Prince} //fr, en, it is language, Prince is LastName
      {en: Breed}
      {it: Lasontos}
    ]
    
    A.map((obj, index) => {
      var keys = Object.keys(B[index]);
      obj.country = keys[0];
      obj.lastname = B[index][keys[0]];
      return obj;
    });
    
        3
  •  0
  •   Code Maniac    7 年前

    你可以试试这个

    let A = [
             {name: 'Jhon'},
             {name: 'Jacob'},
             {name: 'Lukas'}
            ]
    
    let B = [
             {fr: 'Prince'},
             {en: 'Breed'},
             {it: 'Lasontos'},
            ]
    
     for(let i in B){
       let temp = Object.keys(B[i])[0];
       A[i].country = temp
       A[i].lastname = B[i][temp];
     }
    
    console.log(A)
    推荐文章