2017-08-03 67 views
-1
var data =[{ 
    "name": "jack", 
    "age": 10 
    }, { 
    "name": "jhon", 
    "age": 12 
    }]; 
var obje = {"name":{'data_one':0,'data_two':5},"age":{'data_one':8,'data_two':9}}; 

如何從此數組和對象中獲取以下結果。如何合併數組和對象

data[{"name":{"data_one":0,"data_two":5,"display_name":"jack"} 
    "age":{"data_one":8,"data_two":9,"display_name":10}}, 
    {"name":{"data_one":0,"data_two":5,"display_name":"jhon"} 
    "age":{"data_one":8,"data_two":9,"display_name":12}}] 
+1

那你試試這麼遠嗎? –

+0

data.forEach(功能(鍵,VAL){ VAR輸出= {}; Object.keys(OBJE).forEach(功能(鍵){ \t \t OBJE [鍵] [ 'DISPLAY_NAME'] =鍵[鍵]; }); key [val] = obje; }); –

+0

我沒有得到輸入和輸出之間的關係... –

回答

0

你可以使用一個嵌套的方式與Object.assign

var data = [{ name: "jack", age: 10 }, { name: "jhon", age: 12 }], 
 
    object = { name: { data_one: 0, data_two: 5 }, age: { data_one: 8, data_two: 9 } }, 
 
    result = data.map(o => Object.keys(o).reduce((r, k) => 
 
     Object.assign(r, { 
 
      [k]: Object.assign({}, object[k], { display_name: o[k] }) 
 
     }), {})); 
 

 
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

謝謝你的一切。 –

-1

只使用在Array原型中聲明的push。

data.push(obje) 
+1

爲什麼這有一個upvote?這甚至不是回答OP的問題 – mhodges

0

Javascript對象是屬性的集合,並且屬性是一個名稱(或鍵)之間的關聯一個值。

你可以像下面對象(記得鍵值對)

spices = [{"name":"pasilla", "spiciness":"mild"}, 
      {"name":"jalapeno", "spiciness":"hot hot hot!"}, 
      {"name":"habanero", "spiciness":"LAVA HOT!!"}]; 

更多細節:Javascript object documentation