#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿