2017-08-03 20 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(関数(キー、ヴァル){ VAR出力= {}; Object.keys(オブジェ).forEach(関数(キー){ \t \tオブジェ[キー] [ 'DISPLAY_NAME'] =キー[キー]; }); key [val] = obje; }); –

+0

私は入力と出力の関係を取得しません... –

答えて

0

あなたはJavascriptのオブジェクトがプロパティのコレクションである、とプロパティは、名前(またはキー)との間の関係である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

配列プロトタイプで宣言されているプッシュを使用してください。

data.push(obje) 
+1

なぜこれにアップフォートがありますか?これは、OPの質問 – mhodges

0

でネストされたアプローチを使用することができますし、価値。

あなたは(キーと値のペアを思い出してください)以下のように

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

詳細オブジェクトを持つことができます。Javascript object documentation

関連する問題