如何查找两个数组是否包含 Javascript 中的任何公共项?
给定两个包含数组元素的数组,任务是检查两个数组是否包含任何公共元素,则返回 True,否则返回 False。
例子:
Input: array1 = ['a', 'b', 'c', 'd', 'e']
array2 = ['f', 'g', 'c']
Output: true
Input: array1 = ['x', 'y', 'w', 'z']
array2 = ['m', 'n', 'k']
Output: false
JavaScript中有很多方法可以解决这个问题,下面讨论其中的一些。
方法1:蛮力方法
- 将第一个数组中的每一项与第二个数组的每一项进行比较。
- 遍历array1并从头到尾迭代它。
- 遍历array2并从头到尾迭代它。
- 比较从 array1 到 array2 的每个项目,如果找到任何公共项目,则返回 true,否则返回 false。
例子:
javascript
javascript
javascript
输出:
false
时间复杂度: O(M * N)
方法二:
- 创建一个空对象并遍历第一个数组。
- 检查第一个数组中的元素是否存在于对象中。如果它不存在,则在数组中分配属性 === 元素。
- 循环遍历第二个数组并检查第二个数组中的元素是否存在于创建的对象上。
- 如果元素存在则返回true,否则返回false。
例子:
javascript
输出:
false
时间复杂度: O(M + N)
方法三:
- 使用内置的 ES6函数some() 遍历第一个数组的每个元素并测试数组。
- 使用带有第二个数组的内置函数includes() 来检查第一个数组中是否存在元素。
- 如果元素存在则返回 true 否则返回 false
javascript
输出:
true
JavaScript 以网页开发而闻名,但它也用于各种非浏览器环境。您可以按照这个 JavaScript 教程和 JavaScript 示例从头开始学习 JavaScript。