1

注:jQueryはありません
どうすれば次のようなことができますか:

var array = new Array();
array[name] = "Tom";
array[age] = 15;
foreach(array as key=>value){
    alert(key + " = " + value);
}
4

5 に答える 5

4

まず、;の代わりにobjorを呼び出す必要があります。配列は、単一のオブジェクトではなく、類似した要素のシーケンスです。personarray

次のように実行できます。

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 };
于 2009-11-29T18:49:24.633 に答える
4

これは、単純なシナリオ例で機能します。

for (var key in array) {
  alert(key + " = " + array[key]);
}

一般的な使用では、プロパティが継承チェーンのどこかでオブジェクトに移植されていないことを確認するためにテストすることをお勧めします

for (var key in array) {
  if (array.hasOwnProperty(key)) {
    alert(key + " = " + array[key]);
  }
}
于 2009-11-29T18:49:57.163 に答える
3

JavaScript オブジェクトを使用する

var object = {};
object.name = "Tom";
object.age = 15;
for ( var i in object ) {
    console.log(i+' = '+ object[i]);
}
于 2009-11-29T18:52:22.927 に答える
1

まず、配列ではなく、オブジェクトが必要です。何が配列を構成するかという 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];
}
于 2009-11-29T18:53:03.007 に答える
0
key=0;while(key<array.length) {
    alert(key + " = " + array.item(key));
    key++;
}
于 2012-12-01T13:31:05.783 に答える