You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Set创建对象?无需遍历去重键数组能否实现?

当然可行,一步就能搞定

不用单独生成uniKeys数组再遍历,直接在去重的同时完成格式转换就行,两种写法都能实现:

第一种是先通过Set去重,转数组时直接映射成目标对象:

const dupObj = [{ id: 1, value: 'a' }, { id: 2, value: 'b' }, { id: 1, value: 'c' }];
const result = [...new Set(dupObj.map(item => item.id))].map(id => ({ val: String(id) }));
// 输出结果:[ { val: '1' }, { val: '2' } ]

第二种用Array.from更简洁,它的第二个参数可以直接对Set里的每个元素做转换:

const result = Array.from(new Set(dupObj.map(item => item.id)), id => ({ val: String(id) }));

这两种写法都不需要先得到uniKeys再额外遍历,直接把去重和格式转换合并成了一步操作。

内容的提问来源于stack exchange,提问作者Run

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 03:57:02