给定两个包含数组元素的数组,如何检查两个数组是否包含任何公共元素呢?
在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人参与
发表评论: