먼저 배열의 분류를 살펴보겠습니다.
배열의 첨자부터 인덱스 배열과 연관 배열로 구분됩니다.
/* 일반적으로 배열이라고 부르는 인덱스 배열*/
var ary1 = [1,3,5,8 ];
// 0부터 시작하여 인덱스로 배열 요소를 가져옵니다. (물론 일부 언어는 1부터 시작합니다.) 인덱스는 실제로 서수, 정수입니다.
ary1[0]; >ary1[1];
ary1[2];
/* 연관배열은 비순수형으로 접근하는 배열을 말합니다. Python의 사전*/
var ary2 = {}; //액세스할 때 비서수(숫자)를 사용합니다. 문자열은
ary2["one"] = 1입니다. "two"] = 2;
ary2["th"] = 3;
ary2["fou"] = 4
질문: 다음과 같이 테스트할 수 있습니다. :
alert(arry1.length); // return 값은 4입니다.
alert(arry2.length); //반환 값은 0입니다.
이유는 무엇인가요? js는 비유형 언어이므로 모든 유형의 js는 객체입니다.
예: var arr = []
arr[0] = 1
arr[1] = 2; ;
arr[2] = 3;
arr["s"] = 4;
이때 arr.s를 호출하는 것은 arr 객체의 s 속성을 호출하는 것과 같습니다. 하지만 arr.length는 여전히 3입니다.
요약: 연관 배열은 문자열을 첨자로 사용할 수 있지만 이 첨자는 필요한 모든 것을 얻을 수 있습니다. 여전히 입찰가를 수동으로 작성해야 합니다.