JavaScriptで配列の交差を実装するための最もシンプルでライブラリを必要としないコードは何ですか?
intersection([1,2,3], [2,3,4,5])
そして
[2, 3]
ベストアンサー1
組み合わせて使用するArray.prototype.filter
そしてArray.prototype.includes
:
const filteredArray = array1.filter(value => array2.includes(value));
古いブラウザの場合、Array.prototype.indexOf
矢印関数がない場合:
var filteredArray = array1.filter(function(n) {
return array2.indexOf(n) !== -1;
});
注意! と はどちらも.includes
を.indexOf
使って配列内の要素を内部的に比較します===
。そのため、配列にオブジェクトが含まれている場合は、オブジェクト参照のみを比較します(その内容は比較しません)。独自の比較ロジックを指定したい場合は、Array.prototype.some
その代わり。