문제

참고 : 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++;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top