假设我们有两个包含相同数量元素的文字数组。我们应该写一个函数来检查两个数组是否包含相同的元素出现相同的次数。
如果数组满足此条件,则返回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