문제
참고 : jQuery가 없습니다
어떻게 다음과 같은 일을 할 수 있습니까?
var array = new Array();
array[name] = "Tom";
array[age] = 15;
foreach(array as key=>value){
alert(key + " = " + value);
}
해결책
우선, 당신은 그것을 불러야합니다 obj
또는 person
대신에 array
; 배열은 단일 객체가 아닌 유사한 요소의 시퀀스입니다.
당신은 다음과 같이 할 수 있습니다 :
var person = new Object();
person['name'] = "Tom";
person['age'] = 15;
for (var key in person) {
if(!person.hasOwnProperty(key)) continue; //Skip base props like toString
alert(key + " = " + person[key]);
}
다음과 같이 속성을 사용하여 객체를 초기화 할 수도 있습니다.
person.name = "Tom";
person.age = 15;
당신은 또한 사용할 수 있습니다 JavaScript 객체 문자 그대로 구문:
var person = { name: "Tom", age: 15 };
다른 팁
이것은 간단한 예제 시나리오에서 작동합니다.
for (var key in array) {
alert(key + " = " + array[key]);
}
일반적인 용도로 상속 체인의 다른 곳에 물체에 접목되지 않았는지 확인하기 위해 테스트하는 것이 좋습니다.:
for (var key in array) {
if (array.hasOwnProperty(key)) {
alert(key + " = " + array[key]);
}
}
JavaScript 객체를 사용하십시오
var object = {};
object.name = "Tom";
object.age = 15;
for ( var i in object ) {
console.log(i+' = '+ object[i]);
}
첫째, 배열을 원하지 않고 객체를 원합니다. 배열을 구성하는 것에 대한 PHP의 아이디어는 솔직히 조금 이상합니다.
var stuff = {
name: "Tom",
age: 15
};
/* Note: you could also have done
var stuff = {};
stuff.name = "Tom";
stuff.age = 15;
// or
var stuff = {};
stuff["name"] = "Tom";
stuff["age"] = 15;
*/
for (var key in stuff) {
alert(key + " = " + stuff[key];
}
key=0;while(key<array.length) {
alert(key + " = " + array.item(key));
key++;
}
제휴하지 않습니다 StackOverflow