練習1:求2個數中的最大值 function getMax(num1, num2) { return num1 > num2 ? num1 : num2; } console.log(getMax(10, 20)); //console.log(getMax); //函數的代碼 同: functio ...
練習1:求2個數中的最大值
function getMax(num1, num2) { return num1 > num2 ? num1 : num2; } console.log(getMax(10, 20)); //console.log(getMax); //函數的代碼
同:
function getMax(num1, num2) { return num1 > num2 ? num1 : num2; } var num1 = 10; var num2 = 20; //函數外面的num和函數的形參num1不是同一個變數 var result = getMax(num1, num2); console.log(result); //同:console.log(getMax); //函數的代碼
練習2:求3個數中的最大值
function getThreeMax(x, y, z) { return x > y ? (x > z ? x : z) : y > z ? y : z; } console.log(getThreeMax(10, 34, 90));
練習3:判斷一個數是否是素數(質數)
ps:
1. 只能被1和自身整除,質數是從2開始
2. 用這個數字和這個數字前面的所有的數字整除一次(沒有1的,沒有自身的)
function isPrimeNumber(num) { for (var i = 2; i < num; i++) { if (num % i == 0) { //說明有一個數字整除了,就沒有必要向後繼續整除了,此時就已經驗證出不是質數 return false; } } return true; } console.log(isPrimeNumber(7839) ? "是質數" : "不是質數");
同:
function isPrimeNumber(num) { for (var i = 2; i < num; i++) { if (num % i == 0) { return false; } } return true; } var result = isPrimeNumber(3940); if (result) { console.log("這是數字是質數"); } else { console.log("這是數字不是質數"); }
練習4:求兩個數字的差
function getSub(x, y) { return x - y; } console.log(getSub(384, 2424));
練習5:求一組數字中的最大值
function getArrayMax(array) { var max = array[0]; for (var i = 0; i < array.length; i++) { if (max < array[i]) { max = array[i]; } } return max; } var max = getArrayMax([30, 20, 10, 49, 59]); console.log(max);// var arr=[10,20,30,40,50]; // var max=getArrayMax(arr); // console.log(max); // var max = getArrayMax([10, 20, 30, 40, 50]); //可以直接把數組傳到函數中的 // console.log(max);
練習6:求一組數字中的最小值
function getArrayMax(array) { var min = array[0]; for (var i = 0; i < array.length; i++) { if (min > array[i]) { min = array[i]; } } return min; } //測試----調用函數並傳入一個數組,把數組中的最小值直接顯示出來 console.log(getArrayMax([20, 49, 18, 60, 74, 73]));
練習7:求一組數字的和
function getArraySum(array) { var sum = 0; for (var i = 0; i < array.length; i++) { sum += i; } return sum; } console.log(getArraySum([1, 2, 3, 4, 5, 6, 7]));
練習8:求一個數組中的最大值和最小值還有和
ps:
1. 給我一個數組,我返回一個數組(最大值,最小值,和)
2. @param array參數是一個數組
3. @returns {*[]}返回值是一個數組,第一個元素值是最大值,第二個元素值是最小值,第三個元素值是和
function getArrayMaxAndMinAndSum(array) { var min = array[0]; //最小值 var max = array[0]; //最大值 var sum = 0; //和 for (var i = 0; i < array.length; i++) { sum += array[i]; //和 //最大值 if (max < array[i]) { max = array[i]; } // end if //最小值 if (min > array[i]) { min = array[i]; } //end if } //end for var array = [max, min, sum]; return array; } //測試 var resultArray = getArrayMaxAndMinAndSum([2, 3, 4, 5, 6, 7, 8, 9, 27]); console.log("最大值:" + resultArray[0]);//27 console.log("最小值:" + resultArray[1]);//2 console.log("和:" + resultArray[2]);//71
練習9:通過函數實現數組反轉
function reverseArray(arr) { for (var i = 0; i < arr.length / 2; i++) { var temp = arr[i]; arr[i] = arr[arr.length - 1 - i]; arr[arr.length - 1 - i] = temp; } return arr; } console.log(reverseArray([1, 5, 10, 15, 20, 25, 30]));
實現:
練習10:通過函數實現冒泡排序
function sortArray(arr) { //控制比較的輪數 for (var i = 0; i < arr.length - 1; i++) { //控制每一輪的比較次數 for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j] < arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } //end if } //end for } //end for return arr; } console.log(sortArray([0, 10, 4, 20, 400, 2, 45]));
實現: