1
Amy 原创整理|资料核验:2026-10-30
MDN说明,Set存储唯一值,但对象是按身份、也就是引用比较,不会逐字段比较内容是否相同。
教学示例(虚构数据):new Set([{code: 'K2'}, {code: 'K2'}]).size是2,因为两个对象分别创建。若先定义const item = {code: 'K2'},再用new Set([item, item]),大小才是1。
Amy建议:对接口返回的对象列表去重前,先明确业务唯一标识。若按code判断同一条记录,就显式按code处理,并决定重复时保留哪条。不要把对象列表包进Set后,就假定具有相同字段的记录已被合并;字段缺失和重复标识也应单独检查。
官方来源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set