jQuery函数交叉相同jQuery elemnets的数组

时间:2017-10-10 12:36:32

标签: javascript jquery arrays

我想构建一个包含多个选择框的过滤器(在我的情况下为3选择)。所以我尝试通过这3个过滤器找到过滤项目的解决方案。

我从以下考虑开始:

我将过滤后的结果保存在每个相应的数组中,所以后来我有3个数组填充了jQuery-Elements。在我的截图中,我将这3个数组推送到一个名为" arrays"。

的数组中

enter image description here

我试过这个,但它对我不起作用:

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

如何在这3个数组中找到相同的jQuery元素并将它们保存在"输出"?

1 个答案:

答案 0 :(得分:0)

你可以试试这个;它只是将每个数组中存在的每个子数组的所有元素添加到输出数组中:

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