js判斷兩個對象里面的值是否相等,來對數組中多個對象去重


用JSON.stringify()和JSON.parse()就可以實現了

 

 比如說有一個數組里面裝很多的對象,並且有很多對象的值重復的

 

let objArr = [

  {name:zhangsan,age:20,sex:man},

  {name:zhangsan,age:21,sex:man},

  {name:zhangsan,age:21,sex:man},

  {name:zhangsan,age:20,sex:man},

  {name:zhangsan,age:20,sex:man},

]

但是我只想的到{name:zhangsan,age:20,sex:man}和{name:zhangsan,age:21,sex:man}這兩條不重復的數據

 

********實現

先遍歷數組,用JOSN.stringify將對象轉成字符串

objArr = objArr.map( v => JSON.stringify(v) )

 

然后就可以使用new Set()來數組去重了

objArr = [ ...new Set(objArr) ]

 

然后再將去重后的數組里面的json格式的對象用JSON.parse()轉成對象就行了

objArr = objArr.map( v => JSON.parse(v) )

 

*********經過JSON.stringify()和JSON.parse()得到的對象是拷貝出的新對象,與源對象不再指向同一內存地址

又是學習的一天呢!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM