js中对数组操作的封装

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

猜你喜欢

转载自www.cnblogs.com/zhumeiming/p/9841066.html