给定两个包含数组元素的数组,如何检查两个数组是否包含任何公共元素呢?
在JavaScript中有许多方法可以查找两个数组是否包含公共项,下面就来介绍一些方法。
方法1:
将第一个数组中的每个项目与第二个数组的每个项目进行比较
● 循环遍历array1并从开始到结束迭代它。
● 循环遍历array2并从开始到结束迭代它。
● 比较array1和array2中的每个项目
示例:
<script>
var arr = new Array();
var array1 = ['a', 'b', 'c', 'd'];
var array2 = ['k', 'x', 'z','c', 'd'];
function findCommonElement(array1, array2) {
// 遍历array1
for(let i = 0; i < array1.length; i++) {
// 遍历array2
for(let j = 0; j < array2.length; j++) {
// 将array1中的每个数组合array2中的每个数组进行比较
if(array1[i] === array2[j]) {
arr.push(array1[i]);
}
}
}
if(arr.length==0){
console.log("两个数组间没有公共项");
}else{
console.log("公共项为:" + arr);
}
}
findCommonElement(array1, array2);
</script>
>> 输出结果:
公共项为:c,d方法2:
● 使用内置的ES6函数some()迭代第一个数组的每个元素并测试数组。
● 使用内置函数includes()和第二个数组来检查元素是否存在于第一个数组中。
● 如果公共元素存在则返回true,否则返回false
示例:
<script>
var array1 = ['a', 'b', 'c', 'd'];
var array2 = ['k', 'x', 'z','c', 'd'];
function findCommonElement(array1, array2) {
console.log(array1.some(item => array2.includes(item)))
}
findCommonElement(array1, array2);
</script>
//true 







网友评论文明上网理性发言 已有0人参与
发表评论: