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

要求 : 两个数组中是否包含公共项,包含返回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

资源搜索网站大全https://55wd.com 广州品牌设计公司http://www.maiqicn.com

方法二:

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
posted @ 2020-09-28 14:44  浅笑·  阅读(209)  评论(0编辑  收藏  举报