使用Javascript比较两个数组并返回布尔值
问题描述:
我试图确定两个数组(a和b在下面的代码中)是否相同。使用Javascript比较两个数组并返回布尔值
我已经编写了下面的代码,但for循环会在它返回任何数组元素的“真”值后中断。我想我需要运行一个every()函数,但我不知道如何定义函数来检查数组之间的一致性。我认为我需要运行一个every()函数,但我不知道如何定义函数来检查数组之间的身份。
预先感谢您。
答
您可以使用
function arraysEqual(a, b) {
if(a.length !== b.length)
return false;
for(var i = a.length; i--;) {
if(a[i] !== b[i])
return false;
}
return true;
}
或
a.toString() == b.toString()
+0
的'的toString()'方法可能无法在很多情况下工作,例如'[''] .toString()== [] .toString()' –
答
试试这个功能,
function arraysEqual(a, b) {
if (a === b) return true;
for (var i = a.length-1; i>=0;i--) {
if (a[i] !== b[i]) return false;
}
return true;
}
告诉我你的两个数组 –