35586


下記のような結合を行いたいのですが方法がわからなく教えていただきたいです。

[code]

    let objA = {name:"A",age:"10"};
    let objB = {name:"B",age:"20"};
    
[/code]

objAとobjBを結合しobjCへ格納  
`objC → {name:"A",age:"10"},{name:"B",age:"20"};`

\-- 追記---  
最終的に上で作ったocjCを別のオブジェクトに結合したいです。

[code]

    let objD = [
                 {name:"D",age:"30"}
                 ,objC    //{name:"A",age:"10"},{name:"B",age:"20"}
               ];
    
[/code]

よろしくお願いいたします。


CC BY-SA 3.0
2017-06-15T00:31:51.403
35584
2017-06-15T10:40:48.553
2017-06-15T10:36:09.687
3054
21008
question
javascript
配列リテラルで配列を結合したい


配列にしたいということでしょうか？  
であれば、 `let objC = [objA, objB]` で実現できます。

そうでない場合、結合されたobjCについて、具体的な説明があればお求めの回答も付きやすいかと思います。


CC BY-SA 3.0
2017-06-15T01:21:17.860
35586
2017-06-15T01:21:17.860
23348
35584
answer


ES6(ES2015)以降には、[スプレッド演算子](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Spread_operator)(`...`)があります。

[code]

    let objA = {name:"A",age:"10"};
    let objB = {name:"B",age:"20"};
    let objC = [objA, objB];
    
[/code]

という状態だとすると、  
このように配列リテラルに配列を埋め込めます。

[code]

    let objD = [ {name:"D",age:"30"}, ...objC ];
    
    /* let objD = [ {name:"D",age:"30"}, objC[0], objC[1] ] と同じ
    [ { name: 'D', age: '30' },
      { name: 'A', age: '10' },
      { name: 'B', age: '20' } ]
    */
    
[/code]

あるいは、このように関数の引数部分にも使えます。

[code]

    let objD = [ {name:"D",age:"30"} ];
    objD.push(...objC);
    
    // objD.push(objC[0], objC[1]) と同じ
    
[/code]

ES5
などを使っていて、スプレッド演算子が使えない場合は、[push](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/push)、[concat](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/concat)、[splice](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/splice)
などのメソッドで操作するしかありません。


CC BY-SA 3.0
2017-06-15T10:34:19.077
35606
2017-06-15T10:40:48.553
2017-06-15T10:40:48.553
3054
3054
35584
answer