json - TypeScript React 项目中 JSON 数据的列子集
问题描述
我正在开发一个打字稿项目,其中我得到以下形式的数据:
const data1 = { id: 0, rac: 43, tcreated: "12-04-21", tupdated: "12-09-22", Custname: "A" }
现在我想动态过滤列以进行进一步处理,
const fields = ["id", "tcreated", "Custname"];
我发现普通Javascript的解决方案为
const subset = fields.reduce((a, e) => ((a[e] = data1[e]), a), {});
但是这在我的 typescript React 项目中不起作用。我尝试了这里提到的各种其他方法,但由于 TS7053 类型不匹配,似乎没有一种方法有效。有任何想法吗?
解决方案
您必须在interface
下面定义一个类似的,
interface DataConfig {
[propName: string]: string | number;
}
const data1: DataConfig = {
id: 0,
rac: 43,
tcreated: "12-04-21",
tupdated: "12-09-22",
Custname: "A"
};
并在迭代中提及元素类型,
const subset = fields.reduce(
(a: DataConfig, e) => ((a[e] = data1[e]), a),
{}
);
推荐阅读
- vue.js - 登录对话框剪辑在 Vuetify 的工具栏下
- javascript - promise.then() 和 promise.catch() 在节点程序中不起作用
- javascript - 如何使用node express js获取完整的url并发送到其他js页面
- amazon-web-services - 在 AWS Cloudformation 中指定 Secret Manager 值的动态引用
- python - 在 Python 中用 1 行编写数值操作
- python - 如何处理与数据集类型相关的缺失数据?
- c# - 为什么这个“标签”是一个字段?
- libgit2sharp - 使用 libgit2sharp 将文件签出到之前的提交
- three.js - 为什么three.js 加载器只需要某些浏览器的网络服务器?
- odoo - Odoo 10 安装永远不会完成(设置 odoo)