对比数组元素,记住 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 次浏览

启动你的 职业生涯

完成课程获得认证

开始
广告