web-dev-qa-db-ja.com

ES6javascriptのFOROFループで最後の反復を検出する

forおよびfor inループの最後の反復を見つける方法は複数あります。しかし、for ofループの最後の反復を見つけるにはどうすればよいですか。ドキュメントでそれを見つけることができませんでした。

for (item of array) {
    if (detect_last_iteration_here) {
        do_not_do_something
    }
}
4
Vlad Otrocol

配列をスライスして、最後の要素を省略することができます。

var array = [1, 2, 3],
    item;
    
for (item of array.slice(0, -1)) {
    console.log(item)
}
0
Nina Scholz

このための仕様は何もないようです。 2つの回避策があるようです。

可能であれば、マーカーを配列の最後にプッシュして、次のようにそのマーカーを操作します。

myArray.Push('FIN')
for (el of myArray){
    if (el === 'FIN')
        //ending code
}

または、以下を使用して、Array.lengthと組み合わせて使用​​できるインデックスを取得することもできます。

ここにリンクの説明を入力してください

0
Thomas Skubicki