📌  相关文章
📜  查看数组是否包含数组 javascript (1)

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

如何查看 JavaScript 数组是否包含数组?

在 JavaScript 中,我们可以使用一些简单的方法来查看一个数组是否包含另外一个数组。下面我们将介绍三种不同的方式来实现这个目标。

方法一:使用 Array.prototype.some() 函数

可以使用 Array.prototype.some() 函数来查看数组是否包含另外一个数组。如下是一个例子:

const arr1 = ['a', 'b', 'c'];
const arr2 = ['b', 'c'];

const containsArray = arr1.some(item => arr2.every(ele => item.includes(ele)));

console.log(containsArray); // returns true

在上面的代码中,我们首先定义了两个数组 arr1 和 arr2。然后使用 .some() 函数遍历了 arr1 数组中的每个元素,并对数组 arr2 中的每个元素使用 .every() 函数进行匹配。如果每个元素都匹配成功,则返回 true,否则返回 false。

方法二:使用 Array.prototype.includes() 函数

可以使用 Array.prototype.includes() 函数来查看数组是否包含另外一个数组。如下是一个例子:

const arr1 = [1, 2, 3];
const arr2 = [2, 3];

const containsArray = arr2.every(ele => arr1.includes(ele));

console.log(containsArray); // returns true

在上面的代码中,我们首先定义了两个数组 arr1 和 arr2。然后使用 .every() 函数遍历了 arr2 数组中的每个元素,并对数组 arr1 使用 .includes() 函数进行匹配。如果每个元素都匹配成功,则返回 true,否则返回 false。

方法三:使用 JSON.stringify() 函数

可以使用 JSON.stringify() 函数来将数组转换成字符串,然后使用字符串比较的方式来查看数组是否包含另外一个数组。如下是一个例子:

const arr1 = [[1], [2], [3]];
const arr2 = [[1]];

const containsArray = arr1.some(item => JSON.stringify(item) === JSON.stringify(arr2));

console.log(containsArray); // returns true

在上面的代码中,我们首先定义了两个数组 arr1 和 arr2。然后使用 .some() 函数遍历了 arr1 数组中的每个元素,并对每个元素使用 JSON.stringify() 函数进行匹配。如果匹配成功,则返回 true,否则返回 false。

总结

以上三种方法可以帮助我们快速判断一个 JavaScript 数组是否包含另外一个数组。如果您了解其他方法,请在评论区分享您的经验。谢谢。