對比陣列元素,記住 JavaScript 中的計數


假設我們有包含相同數量元素的兩個字面陣列。我們應該編寫一個函式來檢查這兩個陣列是否包含相同數量的相同元素。

如果陣列滿足此條件,則我們返回 true,否則返回 false。

我們將建立第二個陣列的一個副本,然後開始遍歷第一個陣列。在遍歷過程中,我們將繼續從第二個陣列中刪除存在於第一個陣列中的元素。如果在遍歷過程中我們遇到任何不存在於第二個陣列中的元素,則返回 false。否則,在遍歷結束時我們將返回 true。

示例

其程式碼將為 −

const arr1 = [2, 5, 7, 4, 3, 3];
const arr2 = [3, 5, 7, 2, 3, 4];
const compareWithCount = (arr1, arr2) => {
   if(arr1.length !== arr2.length){
      return false;
   };
   const copy2 = arr2.slice();
   const areEqual = arr1.every(el => {
      if(!copy2.includes(el)){
         return false;
      };
      copy2.splice(copy2.indexOf(el), 1);
      return true;
   });
   return areEqual;
};
console.log(compareWithCount(arr1, arr2));

輸出

並且控制檯中的輸出將為 −

true

更新於:20-Nov-2020

113 次瀏覽

啟動你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.