而是一个循环中,您可以使用加入比较字符串。
function checkArrays(arrA, arrB){
//check if lengths are different
if(arrA.length !== arrB.length) return false;
//slice so we do not effect the orginal
//sort makes sure they are in order
//join makes it a string so we can do a string compare
var cA = arrA.slice().sort().join("");
var cB = arrB.slice().sort().join("");
return cA===cB;
}
var a = [1,2,3,4,5];
var b = [5,4,3,2,1];
var c = [1,2,3,4];
var d = [1,2,3,4,6];
var e = ["1","2","3","4","5"]; //will return true
console.log(checkArrays(a,b)); //true
console.log(checkArrays(a,c)); //false
console.log(checkArrays(a,d)); //false
console.log(checkArrays(a,e)); //true
唯一的问题是如果你关心上次比较测试的类型。 如果你关心类型,你将不得不循环。
function checkArrays(arrA, arrB){
//check if lengths are different
if(arrA.length !== arrB.length) return false;
//slice so we do not effect the orginal
//sort makes sure they are in order
var cA = arrA.slice().sort();
var cB = arrB.slice().sort();
for(var i=0;i<cA.length;i++){
if(cA[i]!==cB[i]) return false;
}
return true;
}
var a = [1,2,3,4,5];
var b = [5,4,3,2,1];
var c = [1,2,3,4];
var d = [1,2,3,4,6];
var e = ["1","2","3","4","5"];
console.log(checkArrays(a,b)); //true
console.log(checkArrays(a,c)); //false
console.log(checkArrays(a,d)); //false
console.log(checkArrays(a,e)); //false
数组中的第二个数组?它显示为“[Array [8]]”吗? – pimvdb
它在开发人员工具中显示为http://p.fr.am/AXRu,但是我刚开始学习jQuery,并且我不知道它到底是什么 – pmerino
请将从一个副本到另一个副本的代码发布到其他。 – Alnitak