1. 程式人生 > >js數組練習

js數組練習

並排 數組 random 函數 隨機 內容 練習 flag 排序。

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

js數組練習