【js】数组中是否包含公共项

六眼飞鱼酱① 提交于 2020-08-10 08:15:55

快速找出数组中是否包含公共项


要求 : 两个数组中是否包含公共项,包含返回true,不包含返回false

方法一:

1.使用内置ES6函数some()遍历第一个数组每个元素测试
2.第二个数组使用内置函数includes来检查元素是否存在第一个数组中

//第一种
function findCommonElements3(arr1,arr2){
    return arr1.some(item => arr2.includes(item))
}

var a = findCommonElements3(arr1,arr2);
console.log(a) //false

方法二:

1.利用对象

function findCommonElements2(arr1,arr2){
    let obj = {};
    for(let i =0;i<arr1.length;i++){
        if(!obj[arr1[i]]){
            const elem = arr1[i];
            obj[elem] = true
        }
    }
    for(let j = 0;j<arr2.length;j++){
        if(obj[arr2[j]]){
            return true ;
        }
    }
    return false ;
}
var b = findCommonElements2(arr1,arr2);
console.log(b) //false

图片中包含所有的代码

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!