こんにちは。
そうそう、昨日こんな記事を見ました。
ブログを三ヶ月毎日続けるためにやったこと
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を使用したり
やり方は多義にわたりますね。
コメントくださった方々ありがとうございます!