
如果第二个数组包含第一个数组的所有元素,则第一个数组是第二个数组的子集。因此,有时我们可能需要检查一个数组是否是另一个数组的子集。
在本教程中,我们将学习使用三种不同的方法来检查一个数组是否是另一个数组的子集。
使用 for 循环和 array.includes() 方法
用户可以使用 for 循环来迭代第一个数组的每个元素。之后,他们可以使用includes()方法来检查第二个数组是否包含第一个数组的每个元素。
如果第二个数组包含第一个数组的所有元素,则第一个数组是第二个数组的子集。
立即学习“Java免费学习笔记(深入)”;
语法
用户可以按照下面的语法使用for循环和includes()方法来确定一个数组是否是另一个数组的子集。
for (let ele of array1) {
if (!array2.includes(ele)) {
return false;
}
}
在上面的语法中,我们检查 array1 是否是 array2 的子集。
算法
第 1 步 - 我们将检查 array1 是否是 array2 的子集。
第 2 步 - 使用 for-of 循环遍历数组的每个元素。
第 3 步 - 使用 array.includes() 方法检查 array1 的每个元素是否包含在 数组2。
-
步骤 4 - 如果 array1 中的任何单个元素未包含在 array2 中,则返回 false。
步骤 5 - 如果 array2 包含 array1 的所有元素,for-loop 迭代将成功并返回 true。
Sencha touch 开发指南 中文WORD版下载本文档主要讲述的是Sencha touch 开发指南;主要介绍如何使用Sencha Touch为手持设备进行应用开发,主要是针对iPhone这样的高端手机,我们会通过一个详细的例子来介绍整个开发的流程。 Sencha Touch是专门为移动设备开发应用的Javascrt框架。通过Sencha Touch你可以创建非常像native app的web app,用户界面组件和数据管理全部基于HTML5和CSS3的web标准,全面兼容Android和Apple iOS。希望本文档会给有需要的朋友带来帮助;感兴趣的
示例
我们在下面的示例中创建了包含不同数值的三个数组。我们创建了 isSubset() 函数,它接受两个数组作为参数。该函数检查 array1 是否是 array2 的子集,并根据该结果返回布尔值。
我们正在检查 array2 和 array3 是否是 array1 的子集。用户可以在输出中观察结果。
Using the for loop and includes() method to determine if one array is a subset of another array.
使用 array.some() 和 array.indexOf() 方法
array.some() 方法采用回调函数作为参数,该函数根据满足条件的引用数组的至少一个元素返回布尔值。
array.indexOf() 方法返回元素的索引(如果该元素存在于数组中);否则,返回-1。因此,如果我们发现第一个数组中的任何元素在第二个数组中的索引为 -1,则意味着第一个数组不是第二个数组的子集。
语法
用户可以按照下面的语法使用 array.some() 和 array.indexOf() 方法来检查一个数组是否是另一个数组的子集。
let isSubset = !data2.some((string) => data1.indexOf(string) == -1);
在上述语法中,如果 some() 方法返回 true,则 data1 数组不是 data2 的子集。因此,我们将其相反的布尔值存储在 isSubset 变量中。
示例
下面的示例包含两个字符串数组,并检查 data1 数组是否是 data2 数组的子集。 data1 数组包含 data2 的所有元素。因此,用户可以在输出中看到 data2 数组是 data1 的子集。
Using the array.some() and array.indexOf() method to check if one array is a subset of another.
使用 array.every() 方法和 set()
如果每个元素都满足回调函数返回的条件,array.every() 方法将返回 true。
我们可以创建所有数组元素的set(),因为该集合包含唯一的数组元素。
语法
按照下面的语法使用 set 和 every() 方法。
let setOfArray = new Set(num1); let result = num2.every(num => setOfArray.has(num));
示例
在下面的示例中,我们创建了 num1 数组的所有元素的集合。之后,我们使用 javascript set 的 has() 方法检查 set 是否包含 num2 数组的每个元素。
Using the array.every() method and set to check if one array is a subset of another array.










