Javascript——数组案例 | 求总成绩及平均值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mintsolace/article/details/90964619

例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,3,2,5,10,100,50];
//假设max变量中存储的是最大值
var max=arr3[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:把数组中每个元素用| 拼接到一起产生一个字符串并输出

var names=["卡卡西","佐助","鸣人","雏田"];
var str=""; //空的字符串
for(var i=0; i<names.length-1;i++){
    str+=names[i]+"|";
}
console.log(str+names[names.length-1]);

例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:反转数组——把数组中的数据位置调换

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);
}

例10:冒泡排序:把所有的数据按照一定顺序进行排列(从小到大,从大到小)

var arr=[10,0,100,20,60,30];
//循环控制比较的轮数
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;
        }
    }
}
console.log(arr);

猜你喜欢

转载自blog.csdn.net/mintsolace/article/details/90964619