我有一个接口,我基本上想要一个哈希array.类似这样(可能不正确):

export interface EntitySpec {
  originId: EntityType;
  mandatoryProperties: Array<{ [key: string]: string }>;
}

但我想应用这样的界面:

const spec: EntitySpec = {
  originId: 1,
  mandatoryProperties: {
    'code': 'sad',
    'name': 'this',
    'comment': 'here',
  },
};

但我得到了这个:输入"{code:string;}"不可分配给类型"{[key:string]:string;}[]'.

推荐答案

这是因为mandatoryProperties是物体的Array.把它包装成[],你应该会没事的:

const spec: EntitySpec = {
  originId: 1,
  mandatoryProperties: [
    {
      'code': 'sad',
      'name': 'this',
      'comment': 'here',
    }
  ]
};

Javascript相关问答推荐

如何从对象嵌套数组的第二级对象中过滤出键

如何编辑代码FlipDown.js倒计时?

使用useup时,React-Redux无法找到Redux上下文值

无法在nextjs应用程序中通过id从mongoDB删除'

网页自检测外部元素无法加载

扫描qr code后出错whatter—web.js

TypeScript索引签名模板限制

有没有可能使滑动img动画以更快的速度连续?

在我的html表单中的用户输入没有被传送到我的google表单中

如何根据当前打开的BottomTab Screeb动态加载React组件?

对网格项目进行垂直排序不起作用

在我的index.html页面上找不到我的Java脚本条形图

Vaadin定制组件-保持对javascrip变量的访问

SPAN不会在点击时关闭模式,尽管它们可以发送日志(log)等

如何通过Axios在GraphQL查询中发送数组

用另一个带有类名的div包装元素

每隔3个项目交替显示,然后每1个项目交替显示

本地损坏的Java脚本

在Puppeteer中使用promise进行日志(log)记录时出现TargetCloseError

在使用JavaScript以HTML格式显示Google Drive中的图像时遇到问题