如何比较Angular中的两个对象而不使用对象的引用

时间:2017-05-10 08:19:05

标签: angular typescript

how typescript comparing two objects?

originaltraits:{
artistic:25,
athletic:24,
goodLooks:70,
happiness:0,
health:81
}
newtraits:{
artistic:25,
athletic:24,
goodLooks:70,
happiness:0,
health:81
}

我有这两个对象,我想比较这些对象'在Angular中不使用对象引用的字段然后如何比较?

Why does two equal Objects shows 'not equal" in Angular 2

2 个答案:

答案 0 :(得分:19)

您可以使用JSON.stringify()比较对象,假设您具有相同的对象属性顺序。 即:

JSON.stringify(obj1).toLowerCase() === JSON.stringify(obj2).toLowerCase();

答案 1 :(得分:1)

如果您需要在项目中进行更多这样的比较,我强烈建议您使用深度相等的库:

https://www.npmjs.com/package/deep-equal

它的类型与TypeScript一起使用:

https://www.npmjs.com/package/@types/deep-equal