您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

查找多个JavaScript数组之间的匹配项

查找多个JavaScript数组之间的匹配项

var result = arrays.shift().filter(function(v) { return arrays.every(function(a) { return a.indexOf(v) !== -1; }); });

您可以首先对外部Array进行排序,以在开始时获得最短的Array …

arrays.sort(function(a, b) {
    return a.length - b.length;
});

为了完整起见,这是一个解决数组中重复项的解决方案。它使用.reduce()代替.filter()

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;
}, []);
javascript 2022/1/1 18:14:08 有710人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶