2016-11-11 6 views
2

私はTypeScriptを初めて使い、Webアプリケーションを監視するサーバーで作業しています。 pingとエンドポイントの状態を配列に保存するメソッドがあります。次に、そのアレイ内のエントリに応じてサーバのステータスを判断する必要があります。メソッドは正常に動作するはずですが、私は適切な方法で配列を初期化していないと思います。文字列を含むべきTypeScriptで配列をインスタンス化する方法は?

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" 

それでは、どのように私は活字体で適切に配列を初期化しますか?

答えて

2

あなたはこの

let allStatus: string[] = []; 

またはこの

+1

のようなこのような型指定された配列はまた、作品を宣言することができます: '[] allStatusは= せ;' 私はしかし、最初の宣言をお勧めします。 – Matthias247

関連する問題