在 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]);
您将获得:
如果你有一个包装器(你在你的问题中称它为 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);
如果我有类似的东西:
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]);
您将获得:
如果你有一个包装器(你在你的问题中称它为 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);