Javascriptがなどの.map、.filter、JavascriptをArray.findは()
これらは素晴らしい仕事関係なく、あなたの配列がスパースであるかどうのようないくつかの素晴らしい機能を持っているスパース配列に問題があります。配列内の項目ごとにコールバックを一度発生させます。優れた。
また、.findと.findIndex関数もありますが、これらは別の方法で動作します。それらは配列内のINDEXごとに述語を一度起動します。スパース配列で使用すると、これは完全に間違った動作になります。
たとえば、配列の範囲が1000 - 1100の場合、最終的に実際のデータに到達する前に、入力パラメータとして未定義に1000回実行されます。
私のような感じ... a)は、これらの機能のすべてがこれは同様の方法(.findと.findIndexが間違ってそれをやっている間、.MAPと.filterは、右のそれを持っている) b)の中で動作するはずですバグ、そして修正する必要があります
思考?
これは間違いなくそれを議論する場所ではありません。 – Pbd
'map'は未定義の値を使用していないため、それらをスキップします。しかし、 'find'と' findIndex'を使って配列内の未定義のインデックスを見つけることができますので、何もスキップしません! –
'find'と' findIndex'は単純な関数です。あなたは2分で自分を作ることができます。 –