2017-10-10 4 views
0

複数の選択ボックス(私の場合は3つの選択肢)でフィルタを作成したいと思います。だから私は、この3つのフィルタで項目をフィルタリングする解決策を見つけようとします。jQuery関数が同一のjQuery elemnetsの配列と交差する

Iは、以下の考察で開始:

Iがそれぞれ対応する配列でフィルタリングされた結果を保存するので、私はjQueryの要素を充填した後3の配列を有します。私のスクリーンショットでは、これらの3つの配列を「配列」という1つの配列にプッシュしました。

enter image description here

私はこれを試してみましたが、それは私のために動作しません:

var output = []; 
output = arrays.filter(function(v) { 
     return arrays.every(function(a) { 
      return a.indexOf(v) !== -1; 
     }); 
    }); 

これら3つの配列において同一のjQueryの要素を見つけて、「出力」に保存することができますどのように?

答えて

0

これを試すことができます。すべての配列に存在する各サブアレイのすべての要素を出力配列に追加します。

var output =[]; 
arrays.forEach(arr => arr.forEach(elem => 
         { 
          if(arrays.every(arr2 => 
            arr2.indexOf(elem) !== -1 && output.indexOf(elem) ==-1)) 
             output.push(elem); 
         }) 
      );