为了账号安全,请及时绑定邮箱和手机立即绑定

请问,ES6集合(Set)去除重复为什么没有办法去除重复对象?

请问,ES6集合(Set)去除重复为什么没有办法去除重复对象?

饮歌长啸 2018-10-11 13:11:49
代码如下:var arr = [1, 3, 19, 3, '3m', '11', '3', 20, {            name: 'component',            age: 18        }, {            name: 'component',            age: 18        }];        function uniq(arr) {            var tmp = new Set(arr);            return Array.from(tmp)        }        console.time('去除重复');        var ret = uniq(arr);        console.timeEnd('去除重复');        console.log(ret);执行结果如下:备注: 个人分析是:两个对象的地址不一样,所以导致没有去除
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

当两个值都是对象的时候,比较的是两个对象在内存中是否指向的是同一个对象。这也就是为什么{}!=={}的原因。


查看完整回答
反对 回复 2018-11-11
  • 1 回答
  • 0 关注
  • 1439 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号