Last active
March 25, 2019 22:14
-
-
Save andy922200/9647d2ec9ebaa80485955ca7a3d85e37 to your computer and use it in GitHub Desktop.
[JS101] 用 JavaScript 一步步打造程式基礎 - 練習題(二)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//印出多個星星(巢狀迴圈), console.log | |
function stars(n){ | |
for(var i=1; i<=n; i++){ | |
var result = '' | |
for(var j = 1; j<=i; j++){ | |
result += '*' | |
}console.log(result) | |
} | |
} | |
stars(5) | |
//印出多個星星並加空行,return | |
function stars(n){ | |
var result = '' | |
for(var j = 1; j<=n; j++){ | |
result += '*' | |
} | |
return result | |
} | |
function makeStars(num){ | |
var arr = [] | |
for(var i =1; i<=num; i++){ | |
arr.push(stars(i)) | |
} | |
return arr.join('\n') | |
} | |
console.log(makeStars(5)) | |
//1~N~1 顆樣式的星星 | |
function stars(n){ | |
var result = '' | |
for(var j = 1; j<=n; j++){ | |
result += '*' | |
} | |
return result | |
} | |
function stars2(num){ | |
for(var i=1; i<=num; i++){ | |
console.log(stars(i)) | |
} | |
for(var i=num-1; i>0; i--){ | |
console.log(stars(i)) | |
} | |
} | |
stars2(5) | |
//9*9乘法表 | |
function table9to9(){ | |
for(var i = 1; i<= 9; i++){ | |
for(var j=1; j<=9; j++){ | |
console.log( i + "*"+ j + "="+ (i*j)) | |
} | |
} | |
} | |
table9to9() | |
// Recursion 遞迴 | |
function fib(n){ | |
if(n===0) return 0 | |
if(n===1) return 1 | |
return fib(n-2)+fib(n-1) | |
} | |
//倒著印出字串 | |
function reverse(str){ | |
for(var i = str.length-1; i>=0; i--){ | |
console.log(str[i]) | |
} | |
} | |
//轉換大小寫 | |
function swap(str){ | |
var result = '' | |
for(var i = 0; i<str.length; i++){ | |
if(str[i] >= 'a' && str[i] <='z'){ | |
result += str[i].toUpperCase() | |
}else if (str[i] >= 'A' && str [i]<= 'Z'){ | |
result += str[i].toLowerCase() | |
}else{ | |
result += str[i] | |
} | |
}return result | |
} | |
//找出陣列裡的最小值 | |
function findMin(arr){ | |
var min = arr[0] | |
for(var i = 1; i<arr.length; i++){ | |
if (min > arr[i]){ | |
min = arr [i] | |
} | |
}return min | |
} | |
//找出陣列裡第n小的值 | |
function findMin(arr){ | |
var min = arr[0] | |
var minIndex = 0 | |
for(var i = 1; i<arr.length; i++){ | |
if (min > arr[i]){ | |
min = arr [i] | |
minIndex = i | |
} | |
} | |
return minIndex | |
} | |
function findNthMin(arr,nth){ | |
for(var i=1; i<=nth-1;i++){ | |
var minIndex = findMin(arr) //傳回最小值的陣列位置 | |
arr.splice(minIndex,1) //刪除該位置的後一個數字,當進行n-1次後,就會得到所求 | |
} | |
var realMinIndex = findMin(arr) | |
return arr[realMinIndex] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment