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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.