js数组练习

1将数组中数字内容求和

   var attr = [12,34,2,5,76];
   var sum  = 0;
   for(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 arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
   var arr1 = [];
     第一种方法
   for(i=0;i<arr.length;i++){
          if (arr[i]!=0) {
              arr1.push(arr[i]);
          }
   }
   alert(arr1);
     第二种方法
   for(i=0;i<arr.length;i++){
          if (arr[i] == 0) continue;
          arr1.push(arr[i]);
   }
   alert(arr1);

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

   var attr =[2,34,2,5,6,9,8,6,4,34,67,6]; 
   var b=0;
   for(var i=0;i<attr.length;i++){
           b = 0;
           for(var j=attr.length;j > i;j--){
               if(attr[i] == attr[j]){
                      b=1;
               }
        } 
        if (b==0) {
            alert(attr[i]);           这里只弹出了数据  需要将其推放到新数组,不影响思路
        }
   }                
var attr =[2,34,2,5,6,9,8,6,4,34,67,6];
var newAtrr =[];
for (var i= 0;i<attr.length;i++){
          //fa1
          if(newAtrr.indexOf(attr[i]) == -1){
             newAtrr.push(attr[i]);
}
        //fa2
       flag = true;
      for(var j= 0;  j< newAtrr.length;j++){
         if(newAtrr[j]==attr[i]){
              flag=false;
         }
         if(flag){
             newAtrr.push(attr[i]);
        }
 }

4、数组最大值

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

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

       var attr = [];
       for (i=0;i<10;i++) {
              attr.push(parseInt((Math.random())*90+11));
       }
//fa1
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; } } }
//fa2
for(j=0,j<b.length;j++){
for(var k= 0;k<b.length-1-j;k++){
if(b[k]>b[k+1]{
var temp = b[k];
b[k] = b[ k+1];
}
}
} console.log(attr);

6.用js实现随机选取10~100之间的10个数字,往数组里面添加数据的时候去重,存入一个数组,并排序。!!!!!!

    var a = new Array();
    var b = [];
    var bs = 0;
    var i = -1;
    while(true) {i++;
        a[i] = parseInt(Math.random() * 90 + 10);
        
        if(b.indexOf(a[i]) == -1) {
            b.push(a[i]);
            bs++;
            if(bs == 10) {
                break;
            }
        }
    }
    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;
            }
        }
    }
    document.write(b);    var a = new Array();
    var b = [];
    var bs = 0;
    var i = -1;
    while(true) {i++;
        a[i] = parseInt(Math.random() * 90 + 10);
        
        if(b.indexOf(a[i]) == -1) {
            b.push(a[i]);
            bs++;
            if(bs == 10) {
                break;
            }
        }
    }
    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;
            }
        }
    }
    document.write(b);

 

posted on 2018-08-20 21:52  孙崇武  阅读(435)  评论(0编辑  收藏  举报

导航