2012-07-30 2 views
1

가능한 중복은 :
javascript array associative AND indexed?자바 스크립트 배열을 수치 적으로 결합 할 수 있습니까?

나는 함수에서 배열을 반환하고 있고 나뿐만 아니라 문자열 협회와 숫자를 모두 연결을 가질 수 있는지 궁금해하고있다.

예 : 어떤 방법 예에서

array[0] = green; 
array[1] = blue; 
array['what'] = colors; 
+1

배우는 가장 좋은 방법은 시도해 보는 것입니다. – Adi

+0

네 말이 맞아. 이 질문을 삭제해야합니까? –

+0

저는 이것을 자바 스크립트 콘솔에 빠르게 연결했습니다. '무엇'에 대한 항목이 작동하지 않는 것 같습니다. – wecsam

답변

0

,이 오브젝트의 일부 유형이기 때문에. 그러나 그것들을 잘못 사용하는 것입니다 : 이름이 풍부한 (stringish) 인덱스에는 객체 ({})를 사용하고 숫자 인덱스에는 배열 ([])을 사용합니다.

+0

여기에는 몇 가지 용도가 있습니다. 때로는 Array 객체에 몇 가지 추가 데이터를 가지고 다니기를 원할 때가 있습니다. –

+0

물론 몇 가지 특별한 용도로 혼합 할 수는 있지만 스크립트의 다른 사용자를 혼란스럽게 할 수 있습니다. –

0

배열은 특수 길이 속성과 편리한 상속 된 메서드가있는 객체입니다. 배열은 객체이기 때문에 속성 이름은 문자열이지만 숫자로 된 것들 ('0', '1', '2'등)은 배열 메소드에 의해 방문되는 반면 숫자가 아닌 것들 (예 : 길이)은 방문되지 않습니다. 또한, 많은 배열 메소드는 일반적이며 적절한 속성 (즉, 숫자 길이 속성 및 일부 숫자 속성 이름)을 가진 모든 객체에 적용될 수 있습니다. 에 대한 결과가 없지만, 일반 개체를 할 것입니다 배열을 사용하는

var x = []; 
x['00'] = '00'; // length = zero as '00' is not an index 
x['0'] = '0'; // length = 1 as '0' is an index 

그것은 일반적으로 간주 나쁜 형태 : 인덱스 고려해야 할

참고 속성 이름은 rules for index names 정도 충족해야 그래서 너는 길이 속성으로 혼란스러워하는 것보다.

관련 문제