[TypeScript]配列(Array)を逆順でループするには?

TypeScript

どうも、ちょげ(@chogetarou)です。

配列(Array)を逆順でループする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(Array)を逆順でループする方法は、3つあります。

forEach()

1つ目は、forEach()を使う方法です。

まず、配列のコピーを作成し、コピーからreverse()を呼び出します。

reverse()からforEach()を呼び出します。

そして、forEach()の引数に、ループ処理の関数を指定します。

[...array].reverse().forEach((item) => {
    //ループ処理
})

上記のforEach()は、配列(Array)を逆順でループします。

使用例

var nums: number[] = [1, 2, 3, 4, 5];

[...nums].reverse().forEach((item) => {
    console.log(item);
})
出力:
[LOG]: 5 
[LOG]: 4 
[LOG]: 3 
[LOG]: 2 
[LOG]: 1 

for文

2つ目は、for文とlengthプロパティを使う方法です。

まず、for文のループ変数をlengthプロパティから「-1」した値で初期化します。

for文の条件式には変数が0以上を指定し、増減式で変数を「-1」します。

for (var i = array.length - 1; i >= 0;i--) {
    //ループ処理
    //変数「i」でインデックスを取得
}

上記のforループは、配列(Array)のインデックスを逆順でループします。

使用例

var nums: number[] = [1, 2, 3, 4, 5];

for (var i = nums.length - 1; i >= 0;i--) {
    console.log(nums[i]);
}
出力:
[LOG]: 5 
[LOG]: 4 
[LOG]: 3 
[LOG]: 2 
[LOG]: 1 

for-of文

3つ目は、for-of文を使う方法です。

まず、配列のコピーを作成し、コピーからreverse()を呼び出します。

上記の配列のコピーを、for-ofのループ対象に指定します。

そして、for-ofにループ処理を指定します。

for (let item of [...array].reverse()) {
    //ループ処理
}

上記のfor-of文は、配列(Array)を逆順でループします。

使用例

var nums: number[] = [1, 2, 3, 4, 5];

for (let item of [...nums].reverse()) {
    console.log(item);
}
出力:
[LOG]: 5 
[LOG]: 4 
[LOG]: 3 
[LOG]: 2 
[LOG]: 1 

まとめ

配列(Array)を逆順でループする方法は、次の3つです。

  • forEach()を使う方法
  • for文を使う方法
  • for-of文を使う方法

コメント

タイトルとURLをコピーしました