wintersa
wintersa

Reputation: 201

Typescript create array with loop dynamically

Am creating a mock class, for generate example data for my Angular2 TypeScript project. Am still a beginner with programming, and struggle with the informatie that is available about TypeScript. My question:

I want to create 100 items and save them in an array. The 100 items will be generated dynamically. The static way i use is very simple, but how do I can do this dynamicly? I made a begin with some iteration code, but how can I best replace the console.log code, and let the output of the iteration be as the static data. I need some examples

mock-names.ts (Static)

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

mock-names-dynamically.ts (Dynamically)

export var NAMES = [];

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

name.ts (Name Class file)

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

Upvotes: 20

Views: 77248

Answers (3)

Kaushal
Kaushal

Reputation: 39

Another way of dynamic initialization, if you are not sure about the size of the array-

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

Then simply push values using a loop

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

Upvotes: 2

Andrii Kovalchuk
Andrii Kovalchuk

Reputation: 4897

ES6 Way:

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

Upvotes: 10

Nick Tsitlakidis
Nick Tsitlakidis

Reputation: 2479

All you have to do is use the push function of the array in Javascript.

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

Upvotes: 37

Related Questions