2013-08-08 1 views
-1

두 객체가 있고 첫 번째 행에 다른 객체를 삽입해야합니다.javascript/jquery 한 객체가 다른 객체에 삽입

자바 스크립트 함수 splice을 찾았지만 사용법을 모르겠습니다.

내 코드 :

$(document).ready(function() { 
    var person = {};  
    person[0] = {}; 
    person[0]['name'] = 'Joy'; 
    person[0]['age'] = '12'; 

    var personAll = {}; 
    personAll[0] = {}; 
    personAll[0]['name'] = 'Vanda'; 
    personAll[0]['age'] = '49'; 
    personAll[1] = {}; 
    personAll[1]['name'] = 'Peter'; 
    personAll[1]['age'] = '12'; 

    var new_object = personAll.splice(0, person); 

    //I need get this result: 
    new_object[0]['name'] = 'Joy'; 
    new_object[0]['age'] = '12'; 
    new_object[1]['name'] = 'Vanda'; 
    new_object[1]['age'] = '49'; 
    new_object[2]['name'] = 'Peter'; 
    new_object[2]['age'] = '12'; 

    console.log(new_object); 
}); 

어떻게이 코드를 수정합니까?

+0

당신은 사용해야합니다 (비어 있지 않은) 객체 리터럴을. – SLaks

+2

@Zeaklous 아니요, 그렇지 않습니다. 'var' 라인은 오브젝트를 선언하고, 후속 라인은 오브젝트의 속성을 선언하므로 함수 범위에서 새로운 변수를 생성하지 않습니다. –

답변

0

documentation을 참조하십시오.

splice() 또한 제거 할 항목 수가 필요합니다.
당신은 다음과 같이 호출해야합니다

array.splice(startIndex, howManyToRemove, newItems...); 

이 경우, 당신은 아마 0 항목을 제거합니다. 당신은 배열의 시작 부분에 삽입하는 경우


, 당신은 또한 단순히 unshift()를 호출 할 수 있습니다.

0

, 당신은 CONCAT의 방법을 사용할 수 있습니다.

var new_object = person.concat(personAll); 
0

Splice 메서드는 배열에서 요소를 제거합니다.
는이 같은 concat 방법을 사용해야합니다

var person = {name: 'Joy', age: 12}; 
var persons = [{name: 'Vanda', age: 49}, {name: 'Peter', age: 12}]; 
var newPersons = [person].concat(persons); 
console.log(newPersons); 

콘솔 출력 될 것입니다 : enter image description here

관련 문제