TypeScript 如何将元组数组转换为对象?
TypeScript 实现元组数组转对象的方案
TypeScript 中与 Swift 的 Dictionary(uniqueKeysWithValues:) 功能对等的原生方法是 Object.fromEntries(),它可以直接接收键值对元组数组作为入参,转换为普通对象,完全匹配你的需求。
针对你给出的代码片段,完整实现如下:
// 生成键值对元组数组 const keyValueTuples = Object.keys(invoiceItems)?.map(function (key) { return [key, 1]; }) ?? []; // 转换为目标对象 const resultObject = Object.fromEntries(keyValueTuples);
补充说明
- 若元组数组存在重复键时,
Object.fromEntries()会保留最后出现的键对应的值,和同场景下 Swift 方法的处理逻辑一致。如果需要提前处理键冲突,可以在转换前对元组数组做去重处理。 - 如需添加类型约束可以参考以下写法:
// 定义返回对象的类型 type InvoiceItemMap = Record<string, number>; const resultObject = Object.fromEntries(keyValueTuples) as InvoiceItemMap;
内容的提问来源于stack exchange,提问作者János
相关产品推荐
相关产品推荐

