77
70

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【JavaScript】連想配列で要素数の取得

Last updated at Posted at 2013-12-11

こんにちは。

そうそう、昨日こんな記事を見ました。

ブログを三ヶ月毎日続けるためにやったこと
http://d.hatena.ne.jp/shu223/20131209/1386578929

特にこの中にあるスライドショーがすごいと思った。

僕の中ではすごい

「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで

ここに惹かれました。
それで記事を読んでいくと、メモがわりに使っていたと。

確かにメモを取るにはすごい便利かも。
(というかやっていたので、そのまま続投です。

長くなりそうなので、感想は別ブログで行います。

さて、はまりました。

連想配列の要素数をとりだしたいがために

var hogeArr = { hoge1 : "h" , hoge2 : "o" , hoge3 : "g" , hoge4 : "e" } ;


for(var i = 0 ;  i < hogeArr.length ; i++){
    alert(hogeArr["hoge" + i]) ;
}

これ、なにも反応しませんでした。
調べてみるとどうやら

JavaScriptの連想配列には.lengthが使えません。
理由は添字が数値でなくなるから。

・・・。
連想配列と配列は別物みたいですね。

今はhoge1みたいに最後に数字をつけていたり全体の要素数が見えているから

for(var i = 1 ; i < 5 ; i ++){
}

とか出来るけど、
と考えていたらどうやら for in文でオブジェクトを取り出していく方法があるみたいですね。

for(var i in hoge){
    output(hoge[i]) ;
}

だったらこうやって要素数をしらべるのかな。

var hogeArr = 0 ;
for(var j in hogeArr){
}
hogeArr = j ;
alert(hogeArr) ;

alertで出してみたけど、なんか要素数を出したいのに違う答えが・・・。
もう少し調査です。

しかし、皆さんあたまいいなぁ・・・と思う今日この頃でした。
それではこれからも宜しくお願いいたします。


追記:
解決しました!

for in のなかに 回数判定用の変数をいれたり、 .lengthを使用したり
やり方は多義にわたりますね。

コメントくださった方々ありがとうございます!

77
70
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
77
70

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?