是否可以在 Angular 中对两个对象进行“深度”比较?我想做的是比较每个键/值对。例如:
对象 1
{
key1: "value1",
key2: "value2",
key3: "value3"
}
对象 2
{
key1: "value1",
key2: "newvalue",
key3: "value3"
}
我需要的是比较失败,因为只有一个键/值对不同。换句话说,所有键/值对必须完全匹配,否则失败。这是 Angular 中已经内置的东西吗?我确信如果我真的需要的话,我可以编写自己的服务,但我希望它已经内置了。类似于 angular.equals。
最佳答案
要比较两个对象,您可以使用:
angular.equals(obj1, obj2)
它进行深度比较并且不依赖于键的顺序 请参阅AngularJS DOCS还有一点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
关于angularjs - 比较 Angular 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20409712/