TypeScript中如何遍历含动态键的对象?
TypeScript遍历动态键对象的解决方法
修正对象类型定义
你写的对象类型存在语法错误,正确的动态键对象类型应该是这样:
let obj: { [key: string]: string } = {};
原写法里用逗号分隔键类型和值类型是错误的,需要改成冒号来指定值的类型。
遍历对象的正确方式
对象本身没有forEach或map方法(这两个是数组的方法),要遍历对象,需要先把对象的键、值或键值对转换为数组,再使用数组的遍历方法:
1. 遍历对象的键
Object.keys(obj).forEach(key => { console.log('键名:', key); console.log('对应值:', obj[key]); });
2. 遍历对象的值
Object.values(obj).forEach(value => { console.log('值:', value); });
3. 遍历键值对
Object.entries(obj).forEach(([key, value]) => { console.log('键:', key, '值:', value); });
4. 使用map转换对象内容
如果需要转换对象数据,可以用map处理转换后的数组:
const result = Object.entries(obj).map(([key, value]) => { return `${key} 对应的内容是 ${value}`; }); console.log(result); // 得到转换后的字符串数组
内容的提问来源于stack exchange,提问作者steffan99
相关产品推荐
相关产品推荐

