在 JavaScript 中比较数组元素并考虑计数

javascriptweb developmentobject oriented programmingfront end technology

假设我们有两个包含相同数量元素的文字数组。我们应该编写一个函数来检查两个数组是否包含出现次数相同的相同元素。

如果数组满足此条件,则返回 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

相关文章


有用资源