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

如何将JavaScript对象数组按指定属性转为排序后的唯一对象数组

解决方法:将去重排序后的ccy数组转为对象数组

嗨,这一步其实超简单的!你已经搞定了最核心的去重和排序工作,只需要对得到的字符串数组做一次map转换,就能生成每个元素是{ccy: 对应值}的对象数组啦。

完整代码示例

// 假设你的原始数据是这样的
const data = [{'id': 0, 'ccy': 'USD'}, {'id': 1, 'ccy': 'EUR'}, {'id': 2, 'ccy': 'USD'}, {'id': 3, 'ccy': 'GBP'}];

// 第一步:获取去重并排序的ccy字符串数组(这部分你已经写对啦)
const uniqueSortedCcy = [...new Set(data.map(item => item.ccy))].sort();

// 第二步:转换为目标对象数组
const result = uniqueSortedCcy.map(ccy => ({ ccy }));

// 看看结果
console.log(result);
// 输出:[{ccy: 'EUR'}, {ccy: 'GBP'}, {ccy: 'USD'}]

关键说明

这里用了ES6的对象字面量简写语法:{ ccy } 等价于 { ccy: ccy },因为变量名和对象的属性名完全一致,所以可以省略重复的部分,代码更简洁清爽。

如果你喜欢更紧凑的写法,也可以把两步合并成一行:

const result = [...new Set(data.map(item => item.ccy))].sort().map(ccy => ({ ccy }));

这样就能直接得到你想要的、ccy唯一且已排序的对象数组啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:49:54