日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

如果第二個數組包含第一個數組的所有元素,則第一個數組是第二個數組的子集。因此,有時我們可能需要檢查一個數組是否是另一個數組的子集。

在本教程中,我們將學習使用三種不同的方法來檢查一個數組是否是另一個數組的子集。

使用 for 循環和 array.includes() 方法

用戶可以使用 for 循環來迭代第一個數組的每個元素。之后,他們可以使用includes()方法來檢查第二個數組是否包含第一個數組的每個元素。

如果第二個數組包含第一個數組的所有元素,則第一個數組是第二個數組的子集。

語法

用戶可以按照下面的語法使用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。

    示例

    我們在下面的示例中創建了包含不同數值的三個數組。我們創建了 isSubset() 函數,它接受兩個數組作為參數。該函數檢查 array1 是否是 array2 的子集,并根據該結果返回布爾值。

    我們正在檢查 array2 和 array3 是否是 array1 的子集。用戶可以在輸出中觀察結果。

    <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() 和 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 的子集。

    <html>
    <body>
       <h3>Using the <i>array.some() and array.indexOf() method</i> to check if one array is a subset of another.</h3>
       <p id="output"></p>
       <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>
    </body>
    </html>
    

    登錄后復制

    使用 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 數組的每個元素。

    <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>
    

    登錄后復制

    以上就是如何使用 JavaScript 檢查一個數組是否是另一個數組的子集?的詳細內容,更多請關注www.92cms.cn其它相關文章!

分享到:
標簽:javascript 如何使用 子集 數組 檢查
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定