複数の JavaScript 配列間の一致の検索
質問:
複数の JavaScript を比較するにはどうすればよいですか?文字列値を含む配列を検索し、すべての配列で同一の一致のみを抽出しますか?
回答:
完全に一致するには、次のコード スニペットを使用します:
<code class="js">var result = arrays.shift().filter(function(v) { return arrays.every(function(a) { return a.indexOf(v) !== -1; }); });</code>
この実装は、最初の配列内の各要素を走査し、indexOf を使用して他のすべての配列に要素が存在するかどうかを確認し、条件付きで結果の配列に追加します。どの入力配列にも重複が存在しないことを前提としていることに注意してください。
入力配列内の重複を処理する必要がある場合は、次のコードを使用します。
<code class="js">var result = arrays.shift().reduce(function(res, v) { if (res.indexOf(v) === -1 && arrays.every(function(a) { return a.indexOf(v) !== -1; })) res.push(v); return res; }, []);</code>
このバージョンでは、reduce メソッドが使用されます。配列全体で一致する要素を蓄積するメソッド。重複は、結果配列のindexOfをチェックすることによって除外されます。
以上が複数の JavaScript 配列で共通の要素を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。