两个数组相等的 JavaScript
javascriptweb developmentobject oriented programming更新于 2025/10/25 1:16:17
我们需要编写一个 JavaScript 函数,该函数接受两个数字数组,即第一个和第二个,并检查它们是否相等。
在我们的例子中,相等将由这两个条件之一决定 −
如果数组包含相同的元素,则它们相等,而不管它们的顺序如何。
如果第一个数组和第二个数组的所有元素之和相等。
例如 −
[3, 5, 6, 7, 7] 和 [7, 5, 3, 7, 6] 是相等的数组 [1, 2, 3, 1, 2] 和 [7, 2] 也是相等的数组 但 [3, 4, 2, 5]而 [2, 3, 1, 4] 不相等
让我们来编写该函数代码 −
示例
const first = [3, 5, 6, 7, 7];
const second = [7, 5, 3, 7, 6];
const isEqual = (first, second) => {
const sumFirst = first.reduce((acc, val) => acc+val);
const sumSecond = second.reduce((acc, val) => acc+val);
if(sumFirst === sumSecond){
return true;
};
// 如果不想改变原始数组,请执行此操作,否则使用
first and second
const firstCopy = first.slice();
const secondCopy = second.slice();
for(let i = 0; i < firstCopy.length; i++){
const ind = secondCopy.indexOf(firstCopy[i]);
if(ind === -1){
return false;
};
secondCopy.splice(ind, 1);
};
return true;
};
console.log(isEqual(first, second));
输出
控制台中的输出将是 −
true
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

