どうも、ちょげ(@chogetarou)です。
配列(Array)を逆順でループする方法を紹介します。
方法

配列(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文を使う方法
コメント