如何在TypeScript中向对象字面量添加动态键值对,以便支持动态类型的键?
时间: 2024-12-17 16:35:25 浏览: 11
在 TypeScript 中,你可以使用剩余参数(Rest Properties)语法来向对象字面量添加动态的键值对,即使键是动态确定的。这通常用于函数返回新对象并允许传入部分键值对作为可变参数的情况。以下是示例:
```typescript
function createObjectWithDynamicKeys(...keyValuePairs: [string, any][]): Record<string, any> {
return keyValuePairs.reduce((obj, [key, value]) => ({ ...obj, [key]: value }), {});
}
// 使用例子
let dynamicObj = createObjectWithDynamicKeys('name', 'John Doe', 'age', 30);
console.log(dynamicObj); // 输出:{ name: 'John Doe', age: 30 }
```
在这个例子中,`createObjectWithDynamicKeys`函数接受任意数量的字符串和值对,然后通过 `reduce` 函数将它们合并成一个新的对象。
阅读全文