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

如何在TypeScript中将字符串数组转换为对应键值对格式的对象

实现代码

可以直接用数组的reduce方法完成转换,TypeScript版本实现如下:

const test = [
  ' data1: 123',
  ' data2: 3524',
  ' data3: 5142',
  ' data4: 84521'
]

// 可根据实际场景调整返回值类型,固定key的话也可以写死具体的键名
type ParsedResult = Record<string, number>

const result = test.reduce<ParsedResult>((prev, curr) => {
  // 去除前后空格后按第一个冒号分割为键、值两部分
  const [rawKey, rawValue] = curr.trim().split(':', 2)
  const key = rawKey.trim()
  const value = Number(rawValue.trim())
  prev[key] = value
  return prev
}, {})

console.log(result)
/* 输出:
{
  data1: 123,
  data2: 3524,
  data3: 5142,
  data4: 84521
}
*/

可选优化

如果需要兼容不符合key: value格式的异常条目,可以增加格式校验逻辑:

const result = test.reduce<ParsedResult>((prev, curr) => {
  const trimmedStr = curr.trim()
  if (!trimmedStr.includes(':')) return prev
  const [rawKey, rawValue] = trimmedStr.split(':', 2)
  const key = rawKey.trim()
  if (!key) return prev
  // 如果需要保留值为字符串格式,去掉Number转换即可,同步修改ParsedResult的value类型为string
  prev[key] = Number(rawValue.trim())
  return prev
}, {})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:45:02