【问题标题】:How do I compare two arrays (which can have: DOM elements, numbers, strings, arrays or dictionaries) using jQuery?如何使用 jQuery 比较两个数组(可以有:DOM 元素、数字、字符串、数组或字典)?
【发布时间】:2010-09-01 00:28:40
【问题描述】:

我找到了这个方法:

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))

.
但是,当我进行深度比较时,它会返回 false

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

谢谢

【问题讨论】:

    标签: javascript jquery arrays compare


    【解决方案1】:

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

    不过,我确实在您的代码中找到了错误。

    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;
    }
    

    您需要在这里使用if - else,而不是再次运行.compare 函数并将它们与相等运算符进行比较。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多