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