JS基础语法---数组案例---9个练习
练习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);
你好,我是Jane,如果万幸对您有用,请帮忙点下推荐,谢谢啦~另外,咱们闪存见哦~