5

以下のようなJavaScript配列があり、その中にいくつかの要素があります。配列の長さを読み取ろうとすると、常に長さが 0 になります。なぜこれがこのようなものなのか、誰でも教えてもらえますか。

私の配列は次のようなものです:

var pubs = new Array();
pubs['b41573bb'] =['Albx Swabian Alb Visitor Guide','','15.12.2007 09:32:52',['0afd894252c04e1d00257b6000667b25']];
pubs['6c21a507'] =['CaSH','','29.05.2013 14:03:35',['30500564d44749ff00257b7a004243e6']];
4

3 に答える 3

5

配列とオブジェクトを混同しているようです。あなたが持っているのは配列ではありません。配列は整数インデックスのみを持つことができます。あなたの例では、整数ではないいくつかを使用しているように見えるためb41573bb6c21a507配列がありません。これらのプロパティを持つ JavaScript オブジェクトがあります。配列は次のようになります。

var pubs = new Array();
pubs[0] = ['Albx Swabian Alb Visitor Guide','','15.12.2007 09:32:52',['0afd894252c04e1d00257b6000667b25']];
pubs[1] = ['CaSH','','29.05.2013 14:03:35',['30500564d44749ff00257b7a004243e6']];

.length を呼び出すと、正しい要素数 (2) が得られます。

于 2013-06-10T08:01:53.790 に答える
5

配列が空であるため、報告された長さは正しいです。

ブラケット構文で文字列 (数値を表さない) を使用する場合、項目を配列に入れるのではなく、配列オブジェクトにプロパティを入れます。

于 2013-06-10T08:01:34.507 に答える