javascript繰り返し処理の種類多すぎないか?
備忘録的にまとめました。
(プログラミングを勉強し始めたばかりなので内容薄い!!どんどん内容濃くしていきたい、、)
通常のfor
初学者でもわかりやすい通常のfor
指定した回数で繰り返し処理をしてくれるのでめっちゃ簡単!
コードが長くなりがちだが、基本全てこれでなんとかなる。
forEach
配列要素に対して繰り返し処理してくれる。
僕は、queryselecterAll()でNodeListを受け取り、それをforEachで回す事が多い。
forEachでcontinue,breakは使えないので要注意。
for ..ofと機能は殆ど変わらない。
この中では唯一、ループ構文ではなくメソッドである。
引数にインデックスを使える。
for..in
オブジェクトに使用できる繰り返し処理。
for(key(変数名) in obj)という形で回していく。
基本的に要素が入った順で処理が行われるが順番は保証していないのであまり使わない方が良いのかも。
あとデータ量が多いと遅くなるらしい。
配列に回すとインデックスが返される。(for..ofはvalueが返される)
for..of
foreachとほとんど機能は同じ。
ただ、forEachと違ってcontinue、breakが使用できる上に
イテラブルなオブジェクト(配列、マップ、文字列等)に使用できる点でforEachより幅が広いのかもしれない。
indexを使うにはObject.entriesを使用しkeyとvalueのペアの配列にする
結論、使うならfor,かforEach、for..ofにしましょう。
次回はイテレーター、ジェネレーターとはなんぞやという内容で投稿をしたいです。