オブジェクト内の場所によってオブジェクトをどのように識別しますか。
myObj.b = 2
私は何かのように行くことができmyObj[1] to show 2 also
ますか?
var myObj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
f: 6
}
オブジェクト内の場所によってオブジェクトをどのように識別しますか。
myObj.b = 2
私は何かのように行くことができmyObj[1] to show 2 also
ますか?
var myObj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
f: 6
}
いいえ、これは不可能です。オブジェクトは順序付けられていないため、オブジェクトプロパティには位置がありません。
次のいずれかを選択する必要があります。
[0..length)
配列:範囲から順番に連続したキー。考えられる回避策は、オブジェクトと配列の両方を作成し、そのオブジェクトをキーベースのアクセスに使用し、配列をインデックスベースに使用することです。次に、配列を使用して、特定の値のインデックスを取得できます。
いいえ、myObj[1]は未定義になります。オブジェクトリテラルはハッシュマップ(キー、値ストア)であり、インデックスベースのアクセスをサポートしていません。これは、ハッシュ内のアイテムに予測可能な反復順序がないためです。
オブジェクトフィールドでインデックスのフレーバーを取得するためにできることは、次のとおりです。(jQueryで)
$.each(myObj, function(index, element) {
console.log(index + ' : ' + element)
});
プレーンなJavaScriptでは、次のようにforinループを使用してフィールドを反復処理できます。
for (key in myObj) {
console.log(key);
console.log(myObj[key]);
}
(注:リテラルには構文エラーがあります)。