我是TypeScript的新手,并且在监控webApp的服务器上工作。我有一个方法,应该将ping和端点的状态保存到数组中。然后,它应根据该数组中的条目确定服务器的状态。我假设该方法应该正常工作,但我认为我没有以适当的方式初始化数组。
setServersStatus() {
let allStatus: String[] = new Array(); // Here I get a Warning "Instantiation can be simplified"
for (let server of this.servers) {
if (server.restendpoints != null) {
for (let rest of server.restendpoints) {
switch (rest.status) {
case "OK":
allStatus.push("OK");
break;
case "WARNING":
allStatus.push("WARNING");
break;
case "ERROR":
allStatus.push("ERROR");
break;
default:
console.log('status empty');
}
}
}
if (server.ping != null) {
switch (server.ping.status) {
case "OK":
allStatus.push("OK");
break;
case "WARNING":
allStatus.push("WARNING");
break;
case "ERROR":
allStatus.push("ERROR");
break;
default:
console.log('status empty');
}
}
if (allStatus.indexOf('ERROR')) {
server.status = 'ERROR';
}
else if (allStatus.indexOf('WARNING')) {
server.status = 'WARNING';
}
else if (allStatus.indexOf('OK')) {
server.status = 'OK';
}
allStatus.length = 0;
}
}
我也尝试按以下方式初始化,但它不起作用:
let allStatus = []; // Here it says "Variable allStatus implicitly has an any[] type"
那么如何在TypeScript中正确初始化数组?
答案 0 :(得分:2)
你可以像这样声明一个类型化的数组
let allStatus: string[] = [];
或者像这样
let allStatus: Array<string> = [];