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

配列(Array)を逆順でforループする方法は、2つあります。
lengthプロパティ
1つは、lengthプロパティを使う方法です。
まず、for文のループ変数をlengthプロパティで「-1」した値で初期化します。
for文の条件式には変数が0以上、増減式で変数を「-1」します。
for (var i = numbers.length - 1; i >= 0;i--) {
//ループ処理
//変数「i」でインデックスを取得
}
上記のforループは、配列のインデックスを逆順でループします。
使用例
const numbers = [1, 2, 3, 4, 5];
for (var i = numbers.length - 1; i >= 0;i--) {
console.log(numbers[i]);
}
出力:
5
4
3
2
1
reverse()
もう1つは、reverse()を使う方法です。
まず、for文の()内でofの左辺に変数、ofの右辺に配列からslice().reverse()を呼び出した結果を指定します。
そして、for文の{}内にループ処理を指定します。
for (var item of array.slice().reverse()) {
//ループ処理
}
上記のfor文は、slice().reverse()を呼び出した配列を逆順でループします。
使用例
const numbers = [1, 2, 3, 4, 5];
for (var num of numbers.slice().reverse()) {
console.log(num);
}
出力:
5
4
3
2
1
まとめ
配列(Array)を逆順でforループする方法は、次の2つです。
- lengthプロパティを使う方法
- reverse()を使う方法
コメント