2012-01-02 5 views
28

可能性の重複:
Length of Javascript Associative ArrayJavaScriptのハッシュテーブル数を取得するにはどうすればよいですか?

hash_table = {a: 131, b: 222, c:313} 

それがキーと混同されますので、lengthメソッドはもちろん、機能していません。

どうすればいいですか?

+0

重複した質問からは、ここにはない便利な回答があります。アンダースコアのサイズ_.size()を使用します。 http://stackoverflow.com/a/11346637/1684480 –

答えて

48

Object.keysは、オブジェクトのすべてのキーをリストとして返します。その後、lengthを使用して長さを取得します。

例:

Object.keys(hash_table).length 

NOTEこれはECMA 5で、一部のブラウザでは利用できない可能性があること。フルドキュメントの場合はhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keysを参照してください。

+0

継承されたプロパティも返されますか? – rsk82

+0

いいえ、独自のプロパティのみを返します。 – qiao

+0

Objective.keysはIE8以下ではサポートされていないので、注意してください。 –

2
var count = 0; 
for (property in hash_table) count++; 
+0

JSONはデータ交換フォーマットであり、JavaScriptとは関係がありません。 。 JavaScriptには「連想配列」はなく、配列のみがあります。 –

+0

あなたのfeedbacKに感謝します。私はそれに応じて私の答えを編集しました! – simonecampora

+0

「配列を連想的に使う」とはどういう意味ですか? 'length'プロパティは数値プロパティに対してのみ更新されます。 'arr [0] = 42.'です。非数値プロパティは 'length'を更新しないので、配列に混乱するだけで使用すべきではありません。 –

関連する問題