javascript - 在 TypeScript 中迭代对象的键和值
问题描述
在纯 JavaScript 中,我们可以像这样迭代对象的 props 和值:
const values = Object.keys(obj).map(key => obj[key]);
在 TypeScript 中,此语法是错误的,因为 TS 编译器显示以下消息:
“元素隐式具有‘任何’类型,因为‘字符串’类型的表达式不能用于索引对象类型”。
是否有另一种方法不使用 Map<string, T> 来执行此操作并获取每个键的值?我在使用 React 和 TS 构建应用程序时遇到了这个问题,并且在我的状态下我有一个对象,我需要执行以下操作:
const stateJSX: HTMLParagraphElement[] = Object.keys(obj).map(key => <p>`${key}: ${obj[key]}`<p>);
我想看看其他人的方法和想法:) 谢谢。
解决方案
用于Object.entries
迭代键和值:
Object.entries(obj).map(([key, value]) => `${key}: ${value}`)
推荐阅读
- apache-kafka - Confluent Cloud Kafka - 审计日志集群:接收器连接器
- soap - 使用肥皂服务时的肥皂请求版本问题
- javascript - 赛普拉斯没有获得所需的选择器
- powerbi - Power BI 矩阵中的条件和
- html - 如何在角度ngFor中执行一系列动画
- javascript - 不应该的 VSCode 格式(更漂亮,javascript)
- azure-devops - 在 ADO Board 中需要帮助
- terraform - 如何在 SVN 中存储 Terraform 状态?
- angular - Angular 9 无法加载带有可选链接的 pdfjs (v. 2.8.335) 模块
- python - Anaconda.org 上传错误