11月19日学习笔记

1、如何用JS建立二维数组,以学生成绩表为例创建一个二维数组为例,并计算总分和平均分:
var arr=[];
var classs=["语文成绩","数学成绩","英语成绩"];
for(var i=0;i<6;i++){
    var brr=[];//定义一个空数组,作为子数组
    brr[0]= prompt("请输入学生的姓名");//子数组brr里的元素,取下标0的值
    for(var k=1;k<=classs.length;k++){
        brr[k]=parseInt(prompt("请输入"+brr[0]+"的"+classs[k-1]));//子数组brr里的元素,取下标1,2,3的值
    }
    arr[i]=brr;    //将数组brr作为数组arr的第i个下标
}
//求平均分,总分
for(var i=0;i<arr.length;i++){
    var zong= 0;//定义总分
    for(var j=1;j<=classs.length;j++){
        zong+=arr[i][j];//取数组arr第[i]个下标里的第[j]个下标的值,加入zong,依次是[0][1],[0][2],[0][3]
    }
    arr[i][arr[i].length]=zong;//将zong加入数组arr作为第(arr[i].length)个下标的值
    arr[i][arr[i].length]=parseInt(zong/classs.length);//zong除以classs的长度取平均分,并作为第(arr[i].length)个下标的值
}    
console.log(arr);

2、在一个数组中取最大值和最小值:
var arr=[xx,xx,xx,xx,xx,xx];
var max=arr[0];
var min=arr[0];
for(var j=0;j<arr.length;j++){
    if(max<arr[j]){
        max=arr[j];//取最大
    }
    if(min>arr[j]){
        min=arr[j];//取最小
    }
}
console.log(arr);

3、冒泡算法对数组进行排序,
var arr=[];    
maopao();
function maopao(){    
    for(var i=0;i<10;i++){
        arr[i]=parseInt(Math.random()*100);
    }
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;
        }
    }
    
}
document.write(arr);
}

4、对折查找排序
    var brr = [1,2,3,4,5,6,7,8,9];
    var start = 0;
    var end = brr.length-1;
    while(true){
        if(start > end){
            break;
        }
        var mid = parseInt((start+end)/2);
        if(brr[mid] == 3){
            break;
        }else if(brr[mid] > 3){
            end = mid;
        }else{
            start = mid;
        }
    }

猜你喜欢

转载自www.cnblogs.com/xwenbin/p/9983999.html