web-dev-qa-db-ja.com

_.forEach()ループの最後の反復を取得する方法

私は少し前にlodashを紹介されましたが、簡単な挑戦のように思えます。 TypeScriptで配列のオブジェクトに対して関数を実行するために_.forEach()ループを使用しています。しかし、特定の機能を実行するために最後の反復に到達したときを知る必要があります。

_.forEach(this.collectionArray, function(value: CreateCollectionMapDto) {
      // do some stuff
      // check if loop is on its last iteration, do something.
    });

私はこれについて、またはindexに関係することについてドキュメントをチェックしましたが、何も見つかりませんでした。私を助けてください。

6
Kacey Ezerioha

ちょっと試してみてください:

const arr = ['a', 'b', 'c', 'd'];
arr.forEach((element, index, array) => {
    if (index === (array.length -1)) {
        // This is the last one.
        console.log(element);
    }
});

より複雑なケースが発生した場合は、できるだけネイティブ関数を使用し、lodashを使用する必要があります

しかし、lodashでは次のこともできます。

const _ = require('lodash');

const arr = ['a', 'b', 'c'];
_.forEach(arr, (element, index, array) => {
    if (index === (array.length -1)) {
        // last one
        console.log(element);
    }
});
18

forEachコールバック関数の2番目のパラメーターは、現在の値のインデックスです。

let list = [1, 2, 3, 4, 5];

list.forEach((value, index) => {
  if (index == list.length - 1) {
    console.log(value);
  }
})
5
toskv