Javascript 如何使用jQuery比较两个数组(可以有:DOM元素、数字、字符串、数组或字典)?

Javascript 如何使用jQuery比较两个数组(可以有:DOM元素、数字、字符串、数组或字典)?,javascript,jquery,arrays,compare,Javascript,Jquery,Arrays,Compare,我发现这个方法: Array.prototype.compare = function(arr) { if (this.length != arr.length) return false; for (var i = 0; i < arr.length; i++) { if (this[i].compare) { if (!this[i].compare(arr[i])) return false; }

我发现这个方法:

Array.prototype.compare = function(arr) {
    if (this.length != arr.length) return false;
    for (var i = 0; i < arr.length; i++) {
        if (this[i].compare) {
            if (!this[i].compare(arr[i])) return false;
        }
        if (this[i] !== arr[i]) return false;
    }
    return true;
}


var a = ['aa',[1,2,3]]
var b = ['aa',[1,2,3]]
alert(a.compare (b))
Array.prototype.compare=函数(arr){
如果(this.length!=arr.length)返回false;
对于(变量i=0;i
.
但是,当我进行深入比较时,它返回
false

那么,使用jquery,您使用什么方法来比较两个数组呢


谢谢你,没有jQuery解决方案,jQuery主要用于DOM操作、ajax和一些简单的动画。它确实附带了一小部分实用程序,但据我所知,它们都没有这个功能

但是,我确实在您的代码中找到了bug

Array.prototype.compare = function(arr) {
    if (this.length != arr.length) return false;
    for (var i = 0; i < arr.length; i++) {
        if (this[i].compare) {
            if (!this[i].compare(arr[i])) return false;
        } else { // <-- Here!
            if (this[i] !== arr[i]) return false;
        }
    }
    return true;
}
Array.prototype.compare=函数(arr){
如果(this.length!=arr.length)返回false;
对于(变量i=0;i