2017-02-23 49 views
0

例如,我有這個DataInput中的JSON:如何比較兩個JSON數組與TypeScript?

dataInput= [ 
    {text: 'text1'}, 
    {text: 'text2'}, 
    {text: 'text3'} 
]; 

,我想它比較:

dataInputUpdated= [ 
    {text: 'text1', info: 'something'}, 
    {text: 'text2'}, 
    {text: 'text3'} 
]; 

如何在它們之間具有比較打字稿?有沒有什麼平等的方法?這是一組對象,所以我想知道它不等於任何改變。

+0

數組中的對象的順序總是相同嗎? – rageit

+0

是的,訂單是一樣的。更改將是每個對象內的東西,例如屬性的值的變化或增加的屬性 – AngularOne

+1

http://stackoverflow.com/questions/201183/how-to-determine-equality-for-two-javascript-objects – y2bd

回答

0

您可以使用JSON.stringify方法進行比較。下面是一個示例:

let dataInput= [ 
    {text: 'text1'}, 
    {text: 'text2'}, 
    {text: 'text3'} 
]; 

let dataInputUpdated= [ 
    {text: 'text1', info: 'something'}, 
    {text: 'text2'}, 
    {text: 'text3'} 
]; 

let areSame: boolean = JSON.stringify(dataInput) === JSON.stringify(dataInputUpdated); 

alert(areSame); // returns false