練習1:求數組中所有元素的和 var arr1 = [10, 20, 30, 40, 50]; var sum = 0; for (var i = 0; i < arr1.length; i++) { sum += arr1[i]; } console.log(sum); 練習2:求數組中所有元素的 ...
練習1:求數組中所有元素的和
var arr1 = [10, 20, 30, 40, 50];
var sum = 0;
for (var i = 0; i < arr1.length; i++) {
sum += arr1[i];
}
console.log(sum);
練習2:求數組中所有元素的平均值
var arr2 = [1, 2, 3, 4, 5];
var sum2 = 0;
for (var i = 0; i < arr2.length; i++) {
sum2 += arr2[i];
}
console.log(sum2 / arr2.length);
練習3:求數組中所有元素中的最大值
var arr3 = [1, 9, 3, 10, 3330, 32];
var max = arr3[0];
for (var i = 0; i < arr3.length; i++) {
if (max < arr3[i]) {
max = arr3[i];
}
}
console.log("最大值:" + max);
但有bug:
var arr3=[-1,-2,-3]; //假設max變數中存儲的是最大值 var max=0; for(var i=0;i<arr3.length;i++){ //判斷這個變數的值和數組中每個元素的值是不是最大值 if(max<arr3[i]){ max=arr3[i]; } } console.log("最大值:"+max);
練習4:求數組中所有元素的最小值
var arr4 = [100, 10, 20, 30, 40, 50]; var min = arr4[0]; //假設min里存儲的就是最小值 for (var i = 0; i < arr4.length; i++) { if (min > arr4[i]) { min = arr4[i]; } } console.log("最小值:" + min);
練習5:倒序遍曆數組
var arr5 = [10, 20, 30, 40, 50, 100]; // 正序 for (var i = 0; i < arr5.length; i++) { console.log(arr5[i]); } //倒序 for (var i = arr5.length - 1; i >= 0; i--) { console.log(arr5[i]); }
練習6:把數組中每個元素用|拼接到一起產生一個字元串並輸出
法1:
var names = ["卡卡西", "佐助", "鳴人", "大蛇丸", "倉木麻衣"]; var str = ""; //空的字元串 for (var i = 0; i < names.length - 1; i++) { str += names[i] + "|"; } console.log(str + names[names.length - 1]);
法2:
var names = ["卡卡西", "佐助", "鳴人", "大蛇丸", "倉木麻衣"]; var str = ""; for (var i = 1; i < names.length; i++) { str += "|" + names[i]; } console.log(names[0] + str);
練習7:去掉數組中重覆的0,把其他的數據放在一個新的數組中
var arr = [10, 0, 20, 0, 30, 0, 50]; var newArr = []; //新數組,用來存放第一個數組中所有非0的數字 for (var i = 0; i < arr.length; i++) { if (arr[i] != 0) { newArr[newArr.length] = arr[i]; } } //把新數組的長度作為下標使用,數組的長度是可以改變的 console.log(newArr);
練習8:反轉數組---把數組中的數據的位置調換
ps:var array = [10, 20, 30, 40, 50];
10和50交換位置,20和40交換位置。
則可知:
1. 迴圈次數,計數器,根據交換幾次來決定,不論奇數或偶數個數據,交換次數都是數據長度的一半。即:i<array.length/2
2. 第一個和最後最後一個交換位置,引入第三方變數。則第一個放到第三方里,最後一個放到第一個裡,最後一個放第三方
var array = [10, 20, 30, 40, 50]; //迴圈的目的是控制交換的次數 for (var i = 0; i < array.length / 2; i++) { //先把第一個元素的值放在第三方變數中 var temp = array[i]; array[i] = array[array.length - 1 - i]; array[array.length - 1 - i] = temp; } console.log(array);
練習9:提示用戶輸入班級人數,求總成績,平均值,最高分,最低分---擴展
var perCount = parseInt(prompt("請輸入班級人數")); //定義數組存儲班級的每個人的成績 var perScores = []; //迴圈的方式錄入每個人的成績 for (var i = 0; i < perCount; i++) { //把每個人的成績存儲到數組中 perScores[perScores.length] = parseInt( prompt("請輸入第" + (i + 1) + "的個人成績:") ); } console.log(perScores); //求總成績 var sum = 0; var avg = 0; //平均值 var max = perScores[0]; //最大值 var min = perScores[0]; //最小值 for (var i = 0; i < perScores.length; i++) { sum += perScores[i]; //求和 //求最大值 if (max < perScores[i]) { max = perScores[i]; //求最小值 if (min > perScores[i]) { min = perScores[i]; } } } //平均值 avg = sum / perScores.length; console.log("和為:" + sum); console.log("平均值為:" + avg); console.log("最大值:" + max); console.log("最小值:" + min);