1

重複の可能性:
JavaScript 配列連想 AND インデックス付き?

関数から配列を返していますが、文字列の関連付けと数値の関連付けの両方を使用できるかどうか疑問に思っています。

元:

array[0] = green;
array[1] = blue;
array['what'] = colors;
4

2 に答える 2

0

ある意味ではそうです、それはある種のオブジェクトだからです。しかし、それらの使い方は間違っています :){}名前付き (文字列っぽい) インデックスにはオブジェクト ( ) を使用[]し、数値インデックスには配列 ( ) を使用します。

于 2012-07-30T22:41:14.980 に答える
0

配列は、特別な長さのプロパティといくつかの便利な継承メソッドを持つ単なるオブジェクトです。配列はオブジェクトであるため、そのプロパティ名は文字列ですが、数値のもの ('0'、'1'、'2' など) は配列メソッドによって参照されますが、非数値のもの (長さなど) は参照されません。また、多くの配列メソッドはジェネリックであり、適切なプロパティ (つまり、数値の長さのプロパティといくつかの数値のプロパティ名) を持つ任意のオブジェクトに適用できます。

インデックスと見なされるには、プロパティ名がインデックス名の規則を満たさなければならないことに注意してください。

var x = [];
x['00'] = '00';  // length = zero as '00' is not an index
x['0']  = '0';   // length = 1 as '0' is an index

通常、単純なオブジェクトで配列を使用するのは悪い形式と見なされますが、長さプロパティをいじる場合を除いて、配列を使用しても何の影響もありません。

于 2012-07-31T00:51:53.363 に答える