javascript - Angular Json 比较

标签 javascript angularjs json

我有两个 json 对象,我想将它们相互比较。两者具有相同的值但顺序不同。现在我在 Angular 中发现了这个有用的函数,名为 angular.equals() ,它告诉我对象是否相同,但是我正在尝试找出一种方法,使该函数忽略对象的顺序值在。例如

对代码进行的编辑

var obj = {{name: "Product 1"}, {name:"Product 2"}, {name:"Product 3"}}
var obj2= {{name: "Product 2"}, {name:"Product 1"}, {name:"Product 3"}}

正如您所看到的,这些值是相同的,只是它们的顺序不同。有没有办法让 Angular 忽略顺序?

最佳答案

您可以使用 Lodash 的 _.isEqual()

示例:

var arr1 = ["Product 1", "Product 2", "Product 3"];
var arr2 = ["Product 2", "Product 1", "Product 3"];

_.isEqual(arr1, arr2);

对于纯javascript,还有另一个相关问题:How to compare arrays in JavaScript?

另一种选择是比较字符串:

var equal = JSON.stringify(arr1.sort()) == JSON.stringify(arr2.sort())

关于javascript - Angular Json 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39948481/

相关文章:

javascript - div 上 Const 的 ReactJS 值

javascript - Jquery 自动完成的 JSON

javascript - 用 Angular 覆盖按键

javascript - 解析 Angular Directive(指令)中的范围变量

json - 从内存中的 ASCII 而不是文件连接中反序列化对象

javascript - 将纯文本转换为 json

javascript - 背景 CSS 剪辑路径问题

javascript - 单击页面加载触发器 (UL > LI)

javascript - 通过下拉菜单在数组之间切换需要相当多的时间。我该如何减少它? Angularjs、IvhTreeview

JavaScript 数据格式化/ pretty-print