연관 배열에 값을 저장하는 JavaScript에서 가장 좋은 방법은 무엇입니까? 나는 많은 것을 시도했지만 항상 어떻게 든 브레이크가 걸립니다.
나는 다음과 같은 것을 시도했다.
var test = [];
for(var prop in json) {
test[prop] = json[key];
}
이것은 작동하고 멋진 배열을 얻은 다음 실제로 사용할 수 있습니다. 그러나 test.length를 호출하면 10 개의 항목이 있어야 할 때 3이 나오고, 최소한 8 개의 항목이 있어야 할 때는 0이되는 경우가 있습니다.
내가 뭘 잘못 했니? Java 에서처럼 적절하게 사용할 수있는 연관 배열을 얻으려면 여기로 이동하는 가장 좋은 방법은 무엇입니까?
모든 것이 JavaScript의 객체입니다. foo [ 'bar']는 foo.bar와 동일합니다. 배열은 PHP에서 숫자 배열이라고 부르거나 거의 모든 다른 언어로 배열을 에뮬레이트 할 수있는 미리 정의 된 메서드가있는 객체입니다. JavaScript 객체는 PHP의 연관 배열처럼 작동합니다. PHP가 아닌 일반적인 이름은 해시입니다.
따라서 길이 문제를 해결하기 위해 배열 객체의 미리 정의 된 속성입니다. 배열이 아닌 객체에 사용하면 예상 한 결과를 얻을 수 없습니다. 개체의 속성 수를 계산하려면 다음을 사용할 수 있습니다.
Object.keys(obj).length
최신 브라우저에서. keys () 함수는 해시에서 키 배열을 가져 오므로 올바른 길이 속성을 갖습니다.
이전 브라우저를 지원하려면 개체 속성을 반복하고 수동으로 계산해야합니다. 그주의 for (var prop in json)
도 반복 처리가 프로토 타입 체인에있는 모든 개체의 속성을 통해, 그래서 당신이 속성을 사용하여 객체의 자신의 속성입니다 있는지 확인하는 것이 좋습니다 것입니다 hasOwnProperty()
방법.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다