Typescript动态创建带循环的数组

时间:2016-04-11 18:24:29

标签: typescript angular

创建一个模拟类,用于为我的Angular2 TypeScript项目生成示例数据。我仍然是编程的初学者,并且努力使用有关TypeScript的信息。我的问题:

我想创建100个项目并将它们保存在一个数组中。将动态生成100个项目。我使用的静态方式非常简单,但我怎么能动态地做到这一点?我从一些迭代代码开始,但我怎样才能最好地替换console.log代码,并让迭代的输出作为静态数据。我需要一些例子

mock-names.ts (静态)

export var NAMES: Name[] = [
    {"id": 01, "name": "Tony"},
    {"id": 02, "name": "Jake"}
]

mock-names-dynamic.ts (动态)

export var NAMES = [];

for (let i = 1; i < 100; i++) {
    console.log(i);
}

name.ts (名称类文件)

export class Name {
    id: number;
    name: string;
}

3 个答案:

答案 0 :(得分:20)

您所要做的就是在Javascript中使用数组的推送功能。

var NAMES = [];
for (let i = 1; i < 100; i++) {
    let newName = {
       id:i.toString(),
       name:"Tony"
    };
    NAMES.push(newName);
}

答案 1 :(得分:0)

ES6方式:

 const getData = () => Array.from(new Array(100), (val, index) => ({
       id:index.toString(),
       name:"Tony"
    };);

答案 2 :(得分:0)

动态初始化的另一种方法,如果不确定数组的大小-

let list:Array<{_id:string,name:string}> = Array()

然后只需使用循环即可推送值

list.push({_id:'it001',name:'Sam'})