0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaScript入門 その3:繰り返し

Last updated at Posted at 2023-11-08

JavaScript入門の書籍を読んで書いてあったこと+自分で調べたことのメモ書きその3。ループ(繰り返し)処理。

繰り返し

forwhiledo-while については自分が知っている他の言語にもある。特に気になる点はない。

for-of

配列や文字列から1要素・1文字ずつ取り出すループ処理をする。

例:配列

const arr1 = ["CAPTAIN STAG", "BUNDOK", "snow peak"];
for (const element of arr1) {
  console.log(element);
}

【実行結果】

CAPTAIN STAG
BUNDOK
snow peak

例:文字列

const str1 = "xyz";
for (const element of str1) {
  console.log(element);
}

【実行結果】

x
y
z
const arr2 = ["なす", "かぶ", "ねぎ"];
for (const element of arr2) {
  for (const character of element) {
    console.log(character);
  }
}

【実行結果】

な
す
か
ぶ
ね
ぎ

for-in

オブジェクトから列挙可能プロパティを1個ずつ取り出すループ処理をする。

const obj = { "名称": "クロスカブ110", "排気量": "109cc", "WMTCモード値": "67.9km/L" };
for (const key in obj) {
  console.log(key + ": " + obj[key]);
}

【実行結果】

名称: クロスカブ110
排気量: 109cc
WMTCモード値: 67.9km/L

ラベル付きbreak、continue

ループやswitch文の処理を終了する break と ループ内の反復処理を中止して次の反復処理に移る continue にはラベルを付けることができる。

ラベル付きbreakの例。
iとjがともに1になると break loop1 によりloop1のループ(外側のループ)処理が終了する。

loop1: for (let i = 0; i < 3; i++) {
  loop2: for (let j = 0; j < 3; j++) {
    if (i === 1 && j === 1) {
      break loop1;
    }
    console.log(`i=${i},j=${j}`);
  }
}

【実行結果】

i=0,j=0
i=0,j=1
i=0,j=2
i=1,j=0

ラベル付きcontinueの例。
iとjがともに1になると continue loop1 により現在の反復処理が終了し、loop1の次の反復処理(i=2)を実行する。

loop1: for (let i = 0; i < 3; i++) {
  loop2: for (let j = 0; j < 3; j++) {
    if (i === 1 && j === 1) {
      continue loop1;
    }
    console.log(`i=${i},j=${j}`);
  }
}

【実行結果】

i=0,j=0
i=0,j=1
i=0,j=2
i=1,j=0
i=2,j=0
i=2,j=1
i=2,j=2

ラベル付きブロックに対するbreakの例。
break outerBlock により outerBlock の末尾に移動する。break outerBlock より後の innerBlock、outBlock の処理は実行されない。

outerBlock: {
  innerBlock: {
    console.log("1");
    break outerBlock;
    console.log(":-(");
  }
  console.log("2");
}

【実行結果】

1

参考

書籍

解きながら学ぶJavaScriptつみあげトレーニングブック | マイナビブックス 4章

WEBページ

for...in - JavaScript | MDN
break - JavaScript | MDN
ラベル - JavaScript | MDN

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?