如何创建一个在TypeScript中打印数组的类

时间:2017-07-25 10:32:51

标签: typescript

我想创建这个数组[" name",age]并且能够使用类打印它:



type=button




1 个答案:

答案 0 :(得分:-1)

这段代码允许你打印一般的嵌套数组(我没有在类中实现它,但这很容易做到):

let persons: (string | number)[][] = [["Anne", 21], ["Coco", 33]];

const printArray = (array: any[]) => {
    for (const element of array) {
        if (element instanceof Array) {
            printArray(element);
        } else {
             document.write(element.toString() + '<br/>');
        }
    }
}

printArray(persons);

输出:

Anne
21
Coco
33

但是,由于您希望内部数组具有相同的形状,我建议使用Typescript类实现它们。下面的代码定义了一个Person类,它有自己的write方法,创建了一个Persons数组,然后遍历每个类并调用其write方法:

class Person {
    name: string;
    age: number;

    print = () => {
        document.write(this.name + ' is ' + this.age + '<br/>');
   };

    constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
    }
}

let persons: Person[] = [
    new Person("Anne", 21),
    new Person("Coco", 33)
];

for (let p of persons) {
    p.print();
}

输出:

Anne is 21
Coco is 33