今天的內容是 [JS101] 用 JavaScript 一步步打造程式基礎 的結束篇,所以今天要來實作一下課後練習題(共有25題),本來想多貼幾題,但解了一天還沒解完。
目前就只貼解出來又卡很久的部分(後面都卡很久,只好先發文QQ明天再繼續)。
今天只有題目跟答案,後面還有講解影片但還沒看,小小預告一下:不確定明天會不會筆記講解的部分,也有可能直接開啟下一堂課。
練習1:請寫一個 function position,接收一個字串並回傳這個字串裡面的第一個大寫字母跟它的 index,若沒有則回傳 -1。
position("abcd") 正確回傳值:-1
position("AbcD") 正確回傳值:A 0
position("abCD") 正確回傳值:C 2
練習2:請寫出一個 function stars,接收一個參數 n,並且按照規律印出相對應的圖案。
stars(1) 預期輸出:
*
stars(3) 預期輸出:
*
**
***
stars(7) 預期輸出:
*
**
***
****
*****
******
*******
練習3:
請寫出一個 function isPrime,給定一個數字 n,回傳 n 是否為質數。
(質數的定義:除了 1 以外,沒辦法被所有 < n 的正整數整除)
isPrime(1) 正確回傳值:false
isPrime(5) 正確回傳值:true
isPrime(37) 正確回傳值:true
防
雷
分
隔
線
防
雷
分
隔
線
防
雷
分
隔
線
練習1答案:
function position(str) {
for (var i = 0; i < str.length; i++) {
if (str[i] >= "A" && str[i] <= "Z") {
return str[i] + " " + i
}
}
return -1
}
console.log(position("jgyasdSsfkSvcvZV")) //S 6
練習2答案:
function stars(n) {
starsCount = "";
for (var i = 0; i < n; i++) {
starsCount += "*";
console.log(starsCount);
}
}
stars(1);
stars(3);
stars(7);
練習3答案:
function isPrime(n) {
for (var i = 2; i < n; i++) {
if (n % i === 0) {
return false;
}
}
if (n === 1 || n < 1) {
return false;
}
return true;
}
console.log(isPrime(1));
console.log(isPrime(5));
console.log(isPrime(37));