우선 원하는 것은 배열이 아니라 객체입니다. 나는 당신이 자바 스크립트에 익숙하지 않으며, 이전 언어가 PHP 나 PERL 인 것으로 추측하고있다. 그래서 당신은 당신이 사용하고있는 것이 "연관 배열"이라고 생각한다.
기본 사항 : 자바 스크립트에는 연관 배열이 없습니다. Object와 Numericly 명명 된 객체 속성을 다루는 몇 가지 메소드와 마법 길이 속성을 가진 Object라는 객체의 원시적 인 하위 클래스가 있습니다.
다루는 키는 숫자가 아닌 문자열이므로 사용자는 배열을 사용할 수 없습니다.
자바 스크립트 객체는 php의 연관 배열이나 perl의 해시와 비슷합니다. (하지만 정확히 같은 것은 아닙니다). 당신이 객체로 발견 된 의심의 여지를 가지고
, 당신은
verbs["go"] = "went";
이 일반적인 실수가있다
verbs.go = "went";
에 equivilent입니다 같이 특정 속성에 액세스 할 수 첨자 표기법을 사용할 수 있습니다 점 표기법은 객체에만 사용되며, "연관 배열"에 대한 첨자 표기법은 PHP에서 작동하는 방식이라고 생각합니다. 자바 스크립트에서는 두 가지 표기법을 서로 바꿀 수 있습니다. Arrays는 Object의 서브 클래스이기 때문에 위의 예제도 마찬가지로 작동합니다 (단, Arrays의 특별한 속성은 사용하지 않습니다). 특정 문제에 관해서는
:
당신은 객체의 전체 객체가 필요합니다.
그래서 예를 들어
는
var verbs = {
"do":{"Truck":"Drive","Blender":"Turn On","Bike":"Ride"},
"take":{"Money":"Steal","Julie":"Accompany","Lever":"Pull}
}
는 다음 기능은 다음과 같습니다
function conjugate (verb, subject) {
return verbs[verb][subject];
}
및 그 사용의 예
conjugate("do","Truck") // returns "Drive"
어리석은 나를. 그것이 키워드 인 것을 잊었다. * 벽에 치는 머리 * 건배! – ASG
사실 '배열'은 키워드가 아닌 함수입니다. – SLaks
아 네, 네 말이 맞아. 내 대답을 고쳐 줄게. – Xavi