#6 JavaScriptで学ぶループの基本

JavaScriptのループには、いくつかの書き方があり、扱うデータによって使い分けます。この記事では、JavaScriptにおけるループの基本的な書き方と、配列専用のメソッドについて解説します。

for文の基本

JavaScriptの標準的なfor文は、C言語系の書き方を踏襲しています。

for (let i = 0; i < 5; i++) {
    console.log(i);
}

「初期値・条件・更新」の3つを;で区切って書くのが特徴です。

配列の中身を1つずつ処理する

配列(複数の値をまとめたもの)の中身を順番に処理したい場合は、for...ofという書き方が便利です。

const fruits = ["りんご", "みかん", "ぶどう"];
for (const fruit of fruits) {
    console.log(fruit);
}

forEachという配列専用のメソッド

配列には、直接forEachを呼び出す書き方もあります。

fruits.forEach((fruit, index) => {
    console.log(`${index}: ${fruit}`);
});

forEachのコールバック関数は、値だけでなく添字(何番目の要素か)も引数として受け取れます。ただし、for...ofと違ってbreakで途中で止めることはできない点に注意しましょう。

while文

条件を満たす間繰り返すwhileも使えます。

let count = 0;
while (count < 5) {
    console.log(count);
    count++;
}

mapとfilterで新しい配列を作る

ループの結果として新しい配列を作りたい場合は、mapやfilterが便利です。

const upper = fruits.map(fruit => fruit.toUpperCase());
const longNames = fruits.filter(fruit => fruit.length > 2);

forEachが「処理を実行するだけ」なのに対し、mapは「加工した新しい配列」を、filterは「条件に合う要素だけの新しい配列」を返す点が異なります。

JavaScriptならではの注意点

JavaScriptにはfor...ofのほかに、見た目がよく似たfor...inという書き方も存在します。for...inは配列ではなく、オブジェクトのキー(名前)を取り出すための書き方で、配列に対して使うと意図しない結果になることがあります。名前が似ているため混同しやすいので注意しましょう。迷ったときは、「配列の値そのものが欲しいならfor...of、オブジェクトのキーが欲しいならfor...in」と覚えておくと区別しやすくなります。

まとめ

JavaScriptのループはfor・for...of・whileを使い分け、配列にはforEachという専用メソッドもあります。for...inとの混同にだけは特に気をつけましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

JavaScriptをもっと学びたい方には「改訂新版JavaScript本格入門」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本