問題は、JavaScript配列を連想配列のsomething that it is notとして使用していることです。 JavaScript配列のインデックスは符号なし32ビット整数であるため、*文字列**は使用できません。あなたがオブジェクトを使用して、'A string'
と'Another string'
オブジェクトobj
の特性であるとの値のようにインデックス付けすることができないので
// I'm guessing that you meant to give numerical and not string values
var arr = [123, 456];
又は
var obj = {
'A string' : 123,
'Another string' : 456
};
オブジェクトを使用するノートのようなアレイを使用するいずれか配列。あなたは、オブジェクトが文字列が文字列でない限りhasOwnProperty
if (obj.hasOwnProperty('A string')) {
// if obj has property 'A string' as a direct property
}
別のを使用することになりそのうちの一つ、いくつかの方法は、** in
キーワード
if ('A string' in obj) {
// if obj has a property 'A string' as a property (could be an inherited property too)
}
を使用してしまう性質を持っていることを確認することができます32ビットの符号なし整数の表現はTimだが、JavaScriptの開発者の多くは、整数を使用して明快にすることに固執すると言っても過言ではないと思う。*
文字列をインデックスとして使用する場合、配列はオブジェクトです。 –