You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何基于tableColumns数组动态创建newData对象?

动态生成目标对象的方案

这事儿很简单,用数组的reduce方法一行代码就能搞定,完全不用硬编码:

const newData = this.tableColumns.reduce((acc, column) => {
  acc[column.headerName] = "";
  return acc;
}, {});

拆解下逻辑:

  • reduce会遍历tableColumns里的每一个列对象
  • 我们传入空对象{}作为初始的累加器acc
  • 每遍历一项,就把当前列的headerName作为键、空字符串作为值,添加到累加器里
  • 遍历结束后,reduce返回的就是你要的newData对象

要是你更喜欢直观的循环写法,用for...of也一样能实现:

const newData = {};
for (const column of this.tableColumns) {
  newData[column.headerName] = "";
}

这两种方式都会跟着tableColumns的变化自动调整newData的结构,以后新增或修改列都不用改这段代码,灵活性拉满。

内容的提问来源于stack exchange,提问作者xzk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:51:05