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

与Typescript的Record<string, any>等效的DataWeave类型是什么?

在DataWeave中,你可以通过开放式动态键类型声明实现和TypeScript Record<string, V>完全等效的类型定义,语法为{ [key: 键类型]: 值类型 }。

具体实现步骤

  1. 先定义你固定的的值类型,以你给出的示例中{answer: Number}结构为例:
type AnswerItem = {
    answer: Number
}
  1. 定义通用的字符串键映射类型,等效于TS的Record<string, V>:
type StringRecord<V> = { [key: String]: V }
  1. 实际使用时直接传入值类型即可:
// 该类型匹配所有键为任意字符串、值为AnswerItem结构的对象
type MyCustomMap = StringRecord<AnswerItem>

效果验证

你给出的示例对象完全符合MyCustomMap的类型校验:

{
  "foo": { "answer": 42 },
  "bar": { "answer": 1337 },
  "this key could be any string": { "answer": 1 }
} as MyCustomMap // 类型校验通过

如果某个键的值不符合AnswerItem结构,比如把answer字段改为字符串类型,DataWeave会直接抛出类型错误,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:27:01