Le premier tableau est un sous-ensemble du deuxième tableau si le deuxième tableau contient tous les éléments du premier tableau. Ainsi, nous devrons parfois vérifier si un tableau est un sous-ensemble d’un autre tableau.
Dans ce tutoriel, nous apprendrons à utiliser trois méthodes différentes pour vérifier si un tableau est un sous-ensemble d'un autre tableau.
L'utilisateur peut utiliser la boucle for pour parcourir chaque élément du premier tableau. Ensuite, ils peuvent utiliser la méthode includes() pour vérifier si le deuxième tableau contient tous les éléments du premier tableau.
Le premier tableau est un sous-ensemble du deuxième tableau si le deuxième tableau contient tous les éléments du premier tableau.
Les utilisateurs peuvent utiliser la boucle for et la méthode includes() selon la syntaxe ci-dessous pour déterminer si un tableau est un sous-ensemble d'un autre tableau.
for (let ele of array1) { if (!array2.includes(ele)) { return false; } }
Dans la syntaxe ci-dessus, nous vérifions si array1 est un sous-ensemble de array2.
Étape 1 - Nous vérifierons si le tableau1 est un sous-ensemble du tableau2.
Étape 2 - Utilisez for-of pour parcourir chaque élément du tableau.
Étape 3 - Utilisez la méthode array.includes() pour vérifier si chaque élément de array1 est inclus dans array2.
Étape 4 - Renvoie false si un seul élément de array1 n'est pas contenu dans array2.
< /里>Étape 5 - Si array2 contient tous les éléments de array1, l'itération for-loop réussira et retournera vrai.
Nous avons créé trois tableaux contenant des valeurs différentes dans l'exemple ci-dessous. Nous avons créé la fonction isSubset() qui accepte deux tableaux comme paramètres. Cette fonction vérifie si array1 est un sous-ensemble de array2 et renvoie une valeur booléenne basée sur ce résultat.
Nous vérifions si array2 et array3 sont des sous-ensembles de array1. L'utilisateur peut observer les résultats dans la sortie.
<html> <body> <h3>Using the <i>for loop and includes() method</i> to determine if one array is a subset of another array.</h3> <p id = "output"> </p> <script> let output = document.getElementById("output"); let array1 = [10, 20, 30, 40, 50, 60, 70, 80, 90]; let array2 = [20, 30, 70, 80]; let array3 = [20, 43, 45]; function isSubset(array1, array2) { // Iterating through all the elements of array1 for (let ele of array1) { // check if array2 contains the element of array1 if (!array2.includes(ele)) { output.innerHTML += "The " + array1 + " is not a subset of " + array2 + "<br>"; return false; } } output.innerHTML += "The " + array1 + " is a subset of " + array2 + "<br>"; // If array1 contains all elements of array2 return true return true; } isSubset(array2, array1); isSubset(array3, array1) </script> </body> </html>
array.some() prend comme argument une fonction de rappel, qui renvoie une valeur booléenne basée sur au moins un élément du tableau référencé qui satisfait à la condition.
La méthodearray.indexOf() renvoie l'index de l'élément (si l'élément existe dans le tableau sinon, elle renvoie -1) ; Ainsi, si nous constatons qu'un élément du premier tableau a l'indice -1 dans le deuxième tableau, cela signifie que le premier tableau n'est pas un sous-ensemble du deuxième tableau.
Les utilisateurs peuvent utiliser les méthodes array.some() et array.indexOf() selon la syntaxe ci-dessous pour vérifier si un tableau est un sous-ensemble d'un autre tableau.
let isSubset = !data2.some((string) => data1.indexOf(string) == -1);
Dans la syntaxe ci-dessus, si la méthode some() renvoie true, le tableau data1 n'est pas un sous-ensemble de data2. Par conséquent, nous stockons sa valeur booléenne opposée dans la variable isSubset.
L'exemple ci-dessous contient deux tableaux de chaînes et vérifie si le tableau data1 est un sous-ensemble du tableau data2. Le tableau data1 contient tous les éléments de data2. Par conséquent, l’utilisateur peut voir dans la sortie que le tableau data2 est un sous-ensemble de data1.
Using the array.some() and array.indexOf() method to check if one array is a subset of another.
<script> let output = document.getElementById("output"); let data1 = ["Hello", "Hi", "Users"]; let data2 = ["Hello", "Users"]; let isSubset = !data2.some((string) => data1.indexOf(string) == -1); if (isSubset) { output.innerHTML += "The " + data2 + " is a subset of " + data1 + " array. <br>"; } else { output.innerHTML += "The " + data2 + " is not a subset of " + data1 + " array. <br>"; } </script>
La méthode array.every() retournera true si chaque élément remplit les conditions renvoyées par la fonction de rappel.
Nous pouvons créer un set() de tous les éléments du tableau car l'ensemble contient des éléments de tableau uniques.
Utilisez les méthodes set et every() selon la syntaxe ci-dessous.
let setOfArray = new Set(num1); let result = num2.every(num => setOfArray.has(num));
Dans l'exemple ci-dessous, nous créons une collection de tous les éléments du tableau num1. Après cela, nous utilisons la méthode has() de l'ensemble javascript pour vérifier si l'ensemble contient chaque élément du tableau num2.
<html> <body> <h3>Using the <i>array.every() method and set</i> to check if one array is a subset of another array.</h3> <p id="output"></p> <button onclick="checkForSubset()">Check for subset</button> <script> let output = document.getElementById("output"); let num1 = [45, 65, 45, true, false, 45, 43, 32]; let num2 = [false, true, false, true]; function checkForSubset() { // create a set of the parent array let setOfArray = new Set(num1); // Check if every element of the child array is in the set of the parent array let result = num2.every(num => setOfArray.has(num)); if (result) { output.innerHTML += "The " + num2 + " is a subset of " + num1 + " array. <br>"; } else { output.innerHTML += "The " + num2 + " is not a subset of " + num1 + " array. <br>"; } } </script> </body> </html>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!