查找多个 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中文网其他相关文章!