20

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;
}
2
  • 1
    Where the names values will come from? Also, it seems that you have a class called Name, could post this class here? Commented Apr 11, 2016 at 18:28
  • The class name.ts is used. I added the class to my post. Commented Apr 11, 2016 at 18:38

3 Answers 3

37

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);
}
Sign up to request clarification or add additional context in comments.

4 Comments

Thank you, I understand what your code is doing. I will try this!
I works but not completely for me. The 100 items are created with only the name, and without the Id. I need to figure that out. But am now at the right direction, thanks.
Based on my code snippet, the id of each object should be a string representation of the i value. Please double check your code.
This was stupid The problem was in my class, sorry. But again thanks!
10

ES6 Way:

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

Comments

2

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'})

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.