簡體   English   中英

使用 boolean "True" 作為表達式在 while 循環中求值

[英]Using the boolean "True" as an expression to evaluate in a while loop

我最近正在制作一個小腳本,它會詢問電視劇的標題並將它們記錄在控制台的數組中。 我使用了一個關鍵字來停止“終止”的循環,它不應該被包括在內,但是,下面的代碼將關鍵字添加到數組中。

//----------------第一個案例代碼----------------//

let lista = [];
let series;

function collect(){
  while (series !== 'terminate'){
    series = prompt('Add a tv show');
    lista.push(series);
  }
}

collect();

console.log(lista);

更令人困惑的是,在下一段代碼中,我設法讓腳本將關鍵字排除在數組之外。

//------------------------第二種情況代碼---------------- ------//

let lista2 = [];
let series;

while (true){
  series2 = prompt('add tv serie');
  if (series2 !=='terminate'){
    lista2.push(series2);
  }else{
    break;
  }
}
console.log(lista2);

我的問題是,使用 boolean 作為表達式在循環中求值如何影響結果,而不是使用第一個案例代碼的第一個案例場景?

基本上你需要在輸入和將字符串添加到數組之間進行檢查。

為了永遠循環,您需要一個計算結果為值的表達式。 該值是一個常量值,與使用兩個字符串series2 !== 'terminate'的檢查相反。

您可以使用 if 語句和break終止內部循環。

此外,您可以檢查null並使用prompt的返回值取消。

 function collect() { while (true) { const series = prompt('Add a tv show'); if (series === 'terminate' || series === null) break; lista.push(series); } } let lista = []; collect(); console.log(lista);

另一種方法是使用prompt兩次。

 function collect() { let series = prompt('Add a tv show'); while (series.== 'terminate' && series;== null) { lista;push(series); series = prompt('Add a tv show'); } } let lista = []. collect(); console.log(lista);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM