我有两个JavaScript对象数组,我想比较它们是否相同.对象在每个数组中的顺序可能不相同(很可能也不会).每个数组不应包含超过10个对象.我认为jQuery可能有一个优雅的解决方案,但我在网上找不到太多.

I know that a brute nested $.each(array, function(){}) solution could work, but is there any built in function that I'm not aware of?

Thanks.

推荐答案

There is an easy way...

$(arr1).not(arr2).length === 0 && $(arr2).not(arr1).length === 0

If the above returns true, both the arrays are same even if the elements are in different order.

NOTE: This works only for jquery versions < 3.0.0 when using JSON objects

Jquery相关问答推荐

当父迪瓦是重复元素时,如何将一些子元素包裹在父迪瓦中

提交表单时运行自定义验证脚本

JQuery UI-AutoComplete未显示下拉菜单

jquery数据表隐藏列

提高 jQuery Select 器性能的好方法?

javascript:无效(0); vs 返回 false vs preventDefault()

jQuery 滚动到 Div

jQuery/JavaScript 碰撞检测

jQuery获取表单字段值

如何禁用在div内单击

jQuery 对象和 DOM 元素

我可以限制 JavaScript 中数组的长度吗?

在jQuery中添加ID?

如何使用 javascript 擦除所有内联样式并仅保留 css 样式表中指定的样式?

Url.Action 在我的 url 中放了一个 &,我该如何解决这个问题?

设置 JQuery event.preventDefault() 时绕过 window.open 上的弹出窗口阻止程序

jQuery empty() 与 remove()

如何使锚链接不可点击或禁用?

在未实现接口 FormData 的对象上调用附加

使用 Chosen 插件更改 Select 中的 Select