📜  角度一个数组包含任何第二个 - Javascript(1)

📅  最后修改于: 2023-12-03 15:11:56.505000             🧑  作者: Mango

Javascript中一个数组包含另一个数组的判断方法

在Javascript中,有时候需要判断一个数组中是否包含另一个数组的情况,本文将介绍几种实现方案。

方法一:使用循环判断

可以使用循环来判断一个数组中是否包含另一个数组,具体实现代码如下:

function containsArray(array1, array2) {
  for (var i = 0; i < array1.length; i++) {
    var isEqual = true;
    for (var j = 0; j < array2.length; j++) {
      if (array1[i + j] !== array2[j]) {
        isEqual = false;
        break;
      }
    }
    if (isEqual) {
      return true;
    }
  }
  return false;
}

var array1 = [1, 2, 3, 4, 5];
var array2 = [3, 4];
console.log(containsArray(array1, array2)); // true
方法二:使用includes方法

ES6中新增了数组方法includes,可以轻松实现判断一个数组中是否包含另一个数组的功能,具体实现代码如下:

var array1 = [1, 2, 3, 4, 5];
var array2 = [3, 4];
console.log(array1.includes(...array2)); // true

使用includes方法时需要注意,参数传递的方式是使用...运算符将数组打散传入。

方法三:使用join方法判断

另一种实现方法是将数组转化为字符串,然后使用字符串中的indexOf方法来检查是否包含另一个字符串,具体实现代码如下:

var array1 = [1, 2, 3, 4, 5];
var array2 = [3, 4];
var str1 = array1.join();
var str2 = array2.join();
console.log(str1.indexOf(str2) !== -1); // true

使用join方法判断有一定的缺陷,比如数组元素中如果有,则会影响判断的准确性。

以上就是Javascript中判断一个数组是否包含另一个数组的方法介绍,根据实际情况进行选择。