2011-01-10 2 views
1

개체의 배열을 가지고 있고 그 중 첫 번째 요소를 제거하고 해당 속성을 읽고 싶습니다. 그러나 나는 할 수 없다. 내가 할자바 스크립트 스플 라이스 문제

$.test = function(){ 
var array = [ 
    {a: "a1", b: "b1"}, 
    {a: "a2", b: "b2"}, 
    {a: "a3", b: "b3"} 
]; 
alert("0. element's 'a': " + array[0].a); 
alert("length: " + array.length); 

var element = array.splice(0, 1); 
alert("length: " + array.length); 
alert("removed element's 'a': " + element.a); 
} 

:

3 
a1 
2 
undefined 

왜 난 항상 "정의되지 않은"어떻게해야합니까 여기 코드는? splice 메서드는 정의 된 요소를 제거하고 반환합니다.

답변

6

이 작업을 수행하려면 shift을 사용할 수 있습니다. 즉, 배열의 첫 번째 요소를 제거하고 반환합니다.

alert("removed element's 'a': " + element[0].a); 
+0

감사를 작동합니다! 나는 이것에 대해 몰랐고 효과가있다. 하지만 왜 내 코드는 그렇지 않습니까? – Hunter

+0

@Hunter 코드가 작동하지 않는 이유를 설명하기 위해 내 대답을 업데이트했습니다. – Hemlock

+0

본 적이 있습니다! 고맙습니다! 가능한 한 빨리 받아 들일거야. – Hunter

2

splice는 제거 된 요소의 배열을 반환 :

귀하의 문제는 코드가 될 것이다 그래서 스플 라이스가 배열을 반환합니다.

alert("removed element's 'a': " + element[0].a); 
+0

고마워요! – Hunter