如何使用 jQuery 比较两个数组(可以包含:DOM 元素、数字、字符串、数组或字典)?
我找到了这个方法:
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 使用什么方法来比较两个数组呢?
谢谢
I found this method:
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))
.
But, when I make a deep compare, it returns false
.
So what method do you use to compare two arrays, using jquery?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对此没有 jQuery 解决方案 - jQuery 主要用于 DOM 操作、ajax 和一些简单的动画。它确实附带了一小部分实用程序,但据我所知,它们都没有此功能。
不过,我确实在您的代码中发现了错误。
您需要在此处使用
if
-else
,而不是再次运行.compare
函数并将它们与相等运算符进行比较。There's no jQuery solution for this - jQuery is mainly used for DOM manipulation, ajax and some simple animations. It does come with a small collection of utilities, but as far as I know none of them have this function.
I did, however, find the bug in your code.
You need to use
if
-else
here, instead of running both the.compare
function again and comparing them with the equality operator.