配列のインデックスとして文字列を使用する配列があります。私が持っているとしましょう:
var array = [];
array["a"] = 1;
array["b"] = 2;
array["c"] = 33;
「配列」を繰り返し処理して、そのすべての要素を表示するにはどうすればよいですか?
配列のインデックスとして文字列を使用する配列があります。私が持っているとしましょう:
var array = [];
array["a"] = 1;
array["b"] = 2;
array["c"] = 33;
「配列」を繰り返し処理して、そのすべての要素を表示するにはどうすればよいですか?
JSの配列は通常の数値キーのみを持つことができますが、オブジェクトはキーとして文字列を持つことができます。キーは序数ではないため、それ自体を繰り返すことはできませんが、すべての要素を表示することはできます。
var obj = {};
obj['a'] = 1;
obj['b'] = 2;
/* alternatively */ var obj = {'a': 1, 'b': 2};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
//access via `obj[key]`
}
}
文字列インデックスを持つ「配列」は、JSではまったく配列ではなく、プロパティを持つオブジェクトです。あなたが欲しい:
var obj = {
a:1,
b:2,
c:33
};
for (var prop in obj){
//this iterates over the properties of obj,
//and you can then access the values with obj[prop]
if (obj.hasOwnProperty(prop)) {
doSomething(obj[prop]);
}
}
配列には、整数として解析できるインデックスのみがあります。