js数组练习题

1将数组中数字内容求和

var sum = 0;
    var attr = [12,34,2,5,76];
    for(var i = 0;i < attr.length;i++){
        sum = sum + attr[i];
    }alert(sum);

2、var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组

var attr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
    var newAttr = [];
    for(var i = 0;i<attr.length;i++){
        if(attr[i] == 0)continue;
        newAttr.push(attr[i]);
    }alert(newAttr);

3、写出一个javascript的函数,实现对一个数组去重的功能。
 构建一个新的数组存放结果。
 for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比。

若结果数组中没有该元素,则存到结果数组中。

var attr = [2,34,2,5,6,9,8,4,34,67,6];
    var newAtrr = [];
    var flag = true;
    for(var i = 0;i< attr.length;i++){
//        方法一
//        if(newAtrr.indexOf(attr[i]) == -1){
//            newAtrr.push(attr[i]);
//        }
//        方法二
        flag = true;
        for(var j = 0;j < newAtrr.length;j++){
            if(newAtrr[j] == attr[i]){
                flag = false;
            }
        };
        if(flag){
            newAtrr.push(attr[i])
        }
    }console.log(newAtrr);

4、数组最大值

var attr = [12,34,2,5,76];
    var max =attr[0];
    var maxIndex = 0;
    for(var i = 0;i<attr.length;i++){
        if(attr[i]>max){
            max = attr[i];
            maxIndex = i;
        }
        max = attr[i]?attr[i]:max;
    }
    alert(max);

6、.往数组里面添加数据的时候去重

var attr = [10,20];
    for(var i = 0;i < 10;i++){
        var num = prompt("请输入数字");
        if(attr.indexOf(num) == -1){
            attr.push(num);
        }
    }
    console.log(attr);

 5、.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序。
用的冒泡排序的写法

var attr = [];
    for(var i = 0;i < 10;i++){
        attr[i] = parseInt(Math.random()*90+10);
    }
    var attr = [69,54,95,47,88,17,42,93,85,67];
    for(var j = 0;j < attr.length-1;j++){
        for(var k = j+1;k < attr.length;k++){
            if(attr[j] > attr[k]){
                var zhong = attr[j];
                attr[j] = attr[k];
                attr[k] = zhong;
            }
        }
    }
     console.log(attr);
     var b = [69,54,95,47,88,17,42,93,85,67];
     for(j = 0;j<b.length;j++){
         for(k = 0;k < b.length-1-j;k++){
             if(b[k] > b[k+1]){
                 var temp = b[k];
                 b[k] = b[k+1];
                 b[k+1] = temp;
             }
         }
     }

 

转载于:https://www.cnblogs.com/mr171733/p/9504846.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值