首页  >  文章  >  web前端  >  如何在多个 JavaScript 数组中查找公共元素?

如何在多个 JavaScript 数组中查找公共元素?

Barbara Streisand
Barbara Streisand原创
2024-10-24 16:42:02721浏览

How to Find Common Elements in Multiple JavaScript Arrays?

查找多个 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 &amp;&amp; arrays.every(function(a) {
        return a.indexOf(v) !== -1;
    })) res.push(v);
    return res;
}, []);</code>

此版本使用reduce跨数组累积匹配元素的方法。通过检查结果数组中的indexOf 来过滤掉重复项。

以上是如何在多个 JavaScript 数组中查找公共元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn