1. 程式人生 > >js中對數組操作的封裝

js中對數組操作的封裝

一個 == 位置 操作 n) length spa clas log

     var arr=[1,2,3,4];

      //  1.求和
        var sum=0;
        for(var i=0;i<arr.length;i++){
             sum+=arr[i];
        }
        console.log(sum);


        //求最大值
        var max=arr[0];
        for(var i=0;i<arr.length;i++){
              if(arr[i]>max){
                   max=arr[i];
              }
        }
        console.log(max);


     //求最小值
     var min=arr[0];
     for(var i=0;i
<arr.length;i++){ if(arr[i]<min){ min=arr[i]; } } console.log(min); //查找3的位置 var find1=-1; for(var i=0;i<arr.length;i++){ if(arr[i]===3){ find1=i; break; } } console.log(find1); //查找5 var find2
=-1; for(var i=0;i<arr.length;i++){ if(arr[i]===5){ find2=i; break; } } console.log(find2);

上面是普通的方式進行的操作。

我們分析它的for循環復用了多次,所以想辦法封裝成一個函數來做。

    //上面的求數組的值都是有用到for循環,所以我們想辦法去封裝一個函數。
     var each=function(arr,fn){
            for(var i=0;i
<arr.length;i++){ fn(i,arr[i]); } } //求和 var sum=0; each(arr,function(i,v){ sum+=v; }); console.log(sum); //求最大值 var max=arr[0]; each(arr,function(i,v){ if(v>max){ max=v; } }); console.log(max); //求數組的偶數行 var even=[]; each(arr,function(i,v){ if(i%2==0){ even.push(v); } }); console.log(even);

js中對數組操作的封裝