別の配列のすべての要素から配列をフィルタリングすることは、一般的なプログラミング タスクです。 JavaScript では、通常、これを実現するために .filter() 関数を使用します。ただし、削除する値を関数に提供する方法を理解するのは難しい場合があります。
次のシナリオを考えてみましょう:
var array = [1,2,3,4]; var anotherOne = [2,4]; var filteredArray = array.filter(myCallback); // filteredArray should now be [1,3] function myCallBack(){ return element ! filteredArray; //which clearly can't work since we don't have the reference <,< }
上記の例では、myCallBack 関数は要素を返そうとしています。これはフィルタリングされた配列には存在しませんが、関数が呼び出されたときに filteredArray がまだ定義されていないため、このロジックは機能しません。
filter() 関数では、フィルターされた配列に含める必要がある要素に対して true を返し、削除する必要がある要素に対して false を返すコールバック関数を渡す必要があります。次に、コールバック関数を元の配列の各要素に適用することによって、フィルタリングされた配列が作成されます。
別の配列のすべての要素から配列をフィルタリングする場合、コールバック関数は次のように簡略化できます。次のコード:
var arr1 = [1,2,3,4], arr2 = [2,4], res = arr1.filter(item => !arr2.includes(item)); console.log(res); // Output: [1,3]
ここで、filter() 関数は arr1 を反復処理し、各要素のコールバック関数を呼び出します。コールバック関数 item => !arr2.includes(item) は、arr2 に存在しない要素の場合は true を返し、それ以外の場合は false を返します。結果として、フィルター処理された配列 res には、arr2.
にない要素 [1,3] のみが含まれます。以上がJavaScript で配列を別の配列の要素からフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。