在比较对象角 [英] Compare objects in Angular
问题描述
是否有可能做一个角深两个目标的比较呢?我想这样做是比较每个键/值对。例如:
Is it possible to do a "deep" comparison of two object in Angular? What I would like to do is compare each key/value pair. For example:
对象1
{
key1: "value1",
key2: "value2",
key3: "value3"
}
对象2
{
key1: "value1",
key2: "newvalue",
key3: "value3"
}
我需要的是在比较,因为只有键/值对的一个是diffent失败。换句话说,就是所有的键/值对必须准确,否则失败的匹配。这是不是已经内置到角。我敢肯定,我可以写我自己的服务,如果我真的需要,但我希望它已经建成。到angular.equals类似。
What I need is for the comparison to fail since only one of the key/value pairs is diffent. In other words ALL of the key/value pairs must match exactly or else failure. Is this something already built into Angular. I'm sure I could write my own service if I really needed to, but I was hoping it was already built in. Similar to angular.equals.
推荐答案
要比较两个对象,你可以使用:
To compare two objects you can use:
angular.equals(OBJ1,OBJ2)
它确实深比较和不依赖于键的顺序上
请参见 AngularJS文档和一点点的Demo
It does a deep comparison and does not depend on the order of the keys See AngularJS DOCS and a little Demo
var obj1 = {
key1: "value1",
key2: "value2",
key3: {a: "aa", b: "bb"}
}
var obj2 = {
key2: "value2",
key1: "value1",
key3: {a: "aa", b: "bb"}
}
angular.equals(obj1, obj2) //<--- would return true
这篇关于在比较对象角的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!