2012-03-10 3 views
0

이 작동 : 그것은 (예상) 부여합니다스플 라이스 및 VAR X = {}

var y=["Banana", "Orange", "Apple", "Mango"]; 
y.splice(0,1); 
document.write(y); 

이 아무튼

var z={}; 
z[32]="Help"; 
z[14]="Go"; 

그러나 : 오렌지, 사과, 망고

이도 OK입니다 작동하지 않음 :

z.splice(32,1); 

파이어 버그의 오류 메시지는 다음과 같습니다. :

Error: z.splice is not a function ...

분명히 내가 알지 못하는 규칙이 있습니다. 그것은 무엇입니까, 그리고 어떻게 z [32]와 같은 것을 하나로 엮을 수 있습니까?

감사합니다.

답변

3

y는 배열이고 z는 객체입니다.

개체의 배열 프로토 타입에 함수를 사용할 수 없습니다.

var z=[]; 
z[32]="Help"; 
z[14]="Go"; 

z.splice(32,1); 

잘 작동합니다.

3

z을 개체로 선언하고 있습니다. splice은 배열 함수입니다. 시도 :

var z = []; 
3

객체의 사용에서 요소를 제거하려면 :

var z={}; 
z[32]="Help"; 
z[14]="Go"; 
delete z[32]; 

가, 그렇지 않으면 당신은 배열을 사용해야합니다.