我正在嘗試完成這項任務,我已經設置了代碼,但是出現了一個問題。JavaScript循環訪問數組
分配: 「創建七個字符串值的數組,初始化爲這些明星的名字:寶來, 畢宿五,天津四,織女星,牛郎星,天樞,和軒轅十四與創建一個數組另外七個 字符串值,初始化爲星號爲 的星座名稱:大熊座,金牛座,天鵝座,天琴座,天鷹座,大熊座和獅子座。接下來,創建一個接受單個字符串參數的函數 。函數,通過第一個數組遍歷 ,搜索星號,當找到星號時,返回第二個數組中該索引號中包含的值 。 r字,返回星號爲 的星座。使用提示從訪問者收集星號的名稱,然後用該輸入調用該函數。不要忘記包含代碼 ,該代碼在未找到恆星時執行。顯示結果在屏幕上「
代碼:
var stars = ["Polaris", "Aldebaran", "Deneb", "Vega", "Altair", "Dubhe", "Regulus"];
var stars2 = ["Ursa Minor", "Taurus", "Cygnus", "Lyra", "Aquila", "Ursa Major", "Leo"];
function processStar(starName){
for (var i=0; i < stars.length; i++) {
if(starName == stars[i]){
return stars2[i];
} else {
return "No star found!";
}
}
}
var getStar = prompt("Input the star name.");
var result = processStar(getStar);
alert(result);
問題:
此代碼的工作只爲明星數組中的第一個值比其他任何事情。該數組的第一個元素(「Polaris」),函數返回false值。
爲什麼你有'else'? – SLaks
要將恆星映射到其星座,關聯數組更有意義。 –