🕌
JavaScriptのforの種類が結構あって混乱した記憶があったので整理してみる
まずはド定番のfor文
これはどの言語でも見るパターンなので皆さん楽勝でしょ!
for (let i = 0; i < 9; i++) {
console.log(i)
}
// 実行結果
> 0
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
続いてfor...in!!
これ最初見た時for...ofとの使い分けが分からなかった笑
結論から言うとfor...inはObject
の時に使用してください。
配列もループできますが、index
の順番通りに処理することを保証していません。
そして何より、MDNが「配列 の繰り返しには使うべきではありません」と言っているのでやめましょう。
const object = { a: 1, b: 2, c: 3 };
for (const property in object) {
console.log(`${property}: ${object[property]}`);
}
// 実行結果
> "a: 1"
> "b: 2"
> "c: 3"
3つ目はfor...of!!
for...ofは配列の時に使用しよう!配列以外にもString、Array、Map、Set
などもループできる!
ちなみにObject
をループさせようとするとエラーになるのでやめてください!
const array1 = ['a', 'b', 'c'];
for (const element of array1) {
console.log(element);
}
// 実行結果
> "a"
> "b"
> "c"
4つ目はforEach()!!!
forEachは上記3つと違ってメソッド
です!!
forEachはindexも取れるので、indexも欲しいときはfor..ofじゃなくてこっちを使いましょう!
ちなみにforEachはメソッドなのでbreak
やcontinue
は使用できません!!
const array1 = ['a', 'b', 'c'];
array1.forEach((element, index) => {
console.log(`${index} : ${element}`)
});
// 実行結果
> "0 : a"
> "1 : b"
> "2 : c"
余談
簡単にfor文まとめてみました!良かったらいいね!お願いします!分かりにくかったらすいません😢
Twitterもやっているのでフォローお願いします😄
Discussion
for (const [index, element] of array1.entries()) {
for (const [index, element] of Object.entries(object1)) {
とやります。
forEachでは、break/continueが書きづらいので、応用のきくfor of を自分はよくつかいます。
standard softwareさんコメントありがとうございます!!
entries()というものがあるんですね!勉強になります!😃
記事に反映させていただきます!!