Typescript 动态对象接口

des*_*ode 1 javascript typescript

我正在使用 javascript 创建一个对象,并希望为数据添加一个接口:

Javascript:

const childGroups: Children = {};
      childGroups.children = [];

// Pushing some data 
childGroups.children.push(children);
Run Code Online (Sandbox Code Playgroud)

界面:

export interface Child {
    ClusterPoint
}

export interface Children {
    children: {
        [key: number]: Child
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: Property 'children' is missing in type '{}' but required in type 'Children'. Property 'push' does not exist on type {[key: number]: Child}

数据看起来是这样的:

在此处输入图片说明

任何帮助,将不胜感激。

更新

感谢 Nikita Madeev,我设法让它与这个一起工作:

export interface Child {
    children: {
        ClusterPoint
    };
}

export interface Children {
    children: Child[];
}
Run Code Online (Sandbox Code Playgroud)

Nik*_*eev 5

export interface Child {
    ClusterPoint;
}

export interface Children {
    children: Child[];
}

const childGroups: Children = { children: [] };

// Pushing some data
childGroups.children.push(newChildren);
Run Code Online (Sandbox Code Playgroud)
  1. Children.children - 对象,不是数组,对象没有推送方法
  2. 在初始化期间,您需要指定所有必要的属性