簡體   English   中英

Javascript:為什么我的代碼什么都不提醒?

[英]Javascript: Why is my code alerting to nothing?

我寫了以下內容:

var pages=["[www.facebook.com] Facebook is cool. ","[www.bbc.co.uk] British broadcasting corporation. "];

function findScoreC2(s){ 
  var scores=[];
  var percentageScores=[];
  var contentsArray=[];
  s=s.toLowerCase();
  for(i=0;i<pages.length; i++){
    contentsArray=pages[i].substring(pages[i].indexOf("]")+1,pages[i].lastIndexOf(" "));
    var lowerCaseContents=(pages[i].substring(pages[i].indexOf("]")+1,pages[i].lastIndexOf(" "))).toLowerCase();
    scores[i] =(lowerCaseContents.split(s)).length-1
  };

  percentageScores=(scores[i] / contentsArray[i].length) * 100;
  var finalArray=[];

  for(i=0;i<percentageScores.length;i++){
    finalArray.push("{score:"+percentageScores[i]+",index:"+i+"}")
  };
  alert(finalArray);
}


findScoreC2("facebook");

但是,當alert(finalArray)應該警告"{score:33,index:0},{score:0,index:1}"時,什么也不會警告(即出現警告框,但什么也沒說)。

有人能啟發我為什么會這樣嗎?

非常感謝

您將percentageScores設置為一個數字。 然后,您嘗試迭代到它的length屬性,使您undefined當你這樣做percentageScores.length ,所以for循環迭代永遠。 然后,您使用一個空數組發出警報,該數組的toString生成空字符串。

您可能想要這樣:

for(i=0;i<pages.length; i++){
    contentsArray=pages[i].substring(pages[i].indexOf("]")+1,pages[i].lastIndexOf(" "));
    var lowerCaseContents=(pages[i].substring(pages[i].indexOf("]")+1,pages[i].lastIndexOf(" "))).toLowerCase();
    scores[i] =(lowerCaseContents.split(s)).length-1
    percentageScores[i]=(scores[i] / contentsArray[i].length) * 100;
};

暫無
暫無

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

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