2017-02-06 2 views
-3

개체의 배열이 하나 있습니다.개체의 배열을 병합하는 방법

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

나는 모두를 병합 할, 내가 이것을 달성 할 수있는 방법

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

처럼 될 것인가?

+0

가능한 복제 [하나의 오브젝트에 동일한 어레이 안에서 여러 객체 병합 (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)) 
 
)


또는 당신은 spread syntax 대신 Function#apply 방법을 사용할 수 있습니다.

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; 

    }); 
}); 
관련 문제