在 TypeScript 中,我如何访问数组的成员?

In TypeScript how do I access the member of an array?

如果我有类似的东西:

var treeArray: TreesArray;
treeArray = [new tree("Maple"),
    new tree("Pine"),
    new tree("Spruce")];`

如何提醒第二位成员?

这行不通:alert(treeArray[1]);

更新: 抱歉,我应该从一开始就包含完整的代码。正如我所写的那样,警报仍然不起作用。

interface ITrees{
    treeName: string;
}

interface TreesArray{
    [index: number]: ITrees;
    length: number;
}

class tree implements ITrees{
    treeName: string;
    constructor (treeName: string){
        this.treeName = treeName; 
    }
}

var treeArray: TreesArray;
treeArray = [new tree("Maple"),
            new tree("Pine"), 
            new tree("Spruce")];

alert(treeArray([1]);//does not alert "Pine"

确实有效:

class tree{
    constructor(public treename){       
    }
    toString(){return this.treename}
}
var treeArray: tree[];
treeArray = [new tree("Maple"),
        new tree("Pine"),
        new tree("Spruce")];

alert(treeArray[1]);

Try it online by pressing run

您将获得:

如果你有一个包装器(你在你的问题中称它为 TreesArray),你需要确保包装器定义了一个索引器。

interface TreesArray {
    [index: number]: tree;
}

这是一个完整的例子:

class tree{
    constructor(public treeName: string){       
    }
}

interface TreesArray {
    [index: number]: tree;
}

var treeArray: TreesArray;

treeArray = [
    new tree("Maple"),
    new tree("Pine"),
    new tree("Spruce")
];

alert(treeArray[1].treeName);