2017-02-06 20 views
-3

私はオブジェクトの配列を1つ持っています。オブジェクトの配列をマージする方法

Objs[0] = {Name : "ABC"}; 
Objs[1] = {Roll : 123} 

私は両方をマージしたい、それは私がこれを達成するために、任意の方法

Objs { 
    Name : "ABC", 
    Roll : 123 
} 

のようになりますか?

+0

可能重複[1つのオブジェクトに同じアレイ内の複数のオブジェクトをマージ](http://stackoverflow.com/questions/27538349/merge-multiple-objects-inside-the-same-array-into- one-object) –

+0

http://stackoverflow.com/questions/171251/how-can-i-merge-properties-of-two-javascript-objects-dynamicallyあなたはそれぞれ配列内にn個のオブジェクトマージが必要です。 – Qh0stM4N

答えて

4

Object.assignメソッドを使用できます。

var Objs = [{ 
 
    Name: "ABC" 
 
}, { 
 
    Roll: 123 
 
}]; 
 

 
console.log(
 
    Object.assign.apply(null, [{}].concat(Objs)) 
 
)


それとも、代わりにFunction#apply方法のspread syntaxを使用することができます。

var Objs = [{ 
 
    Name: "ABC" 
 
}, { 
 
    Roll: 123 
 
}]; 
 

 
console.log(
 
    Object.assign({}, ...Objs) 
 
)

+1

ありがとうPranav Sir。それは働いています:) – David

+0

これはIE11でうまくいきません – David

+0

@David:polyfillを使用してください:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill –

3

あなたは、コードの下に試すことができます。

var jsonObj = {}; 

$.each(Objs, function(index) { 

    $.each(Objs[index], function(key, value) { 
     jsonObj[key] = value; 

    }); 
}); 
関連する問題