zoukankan      html  css  js  c++  java
  • es6 最新函数封装(简易版)

    map封装:

    Array.prototype.map=function(fn){
        var arr=this;
        var newArr=[]
        for(var i=0;i<arr.length;i++){
            var ele=fn(arr[i],i);
            newArr.push(ele);    
        }
        return newArr;
    }

    reduce封装:

    Array.prototype.reduce=function(fn,init){
        var arr=this;
        for(var i=0;i<arr.length;i++){
         init=fn(init,arr[i],i);
        }
        return init;    
    }

    some封装:

    Array.prototype.some=function(fn){
        var arr=this;
        for(var i=0;i<arr.length;i++){
            var flag=fn(arr[i],i);
            if(flag){
                return true;
                break;
            }
        }
        return false;
    }

    every封装:

    Array.prototype.every1=function(fn){
        var arr=this;
        for(var i=0;i<arr.length;i++){
            var flag=fn(arr[i],i);
            if(!flag){
                return false;
                break;
            }
        }
        return true;
    }

    filter封装:

    Array.prototype.filter=function(fn){
        var arr=this;
        var newArr=[];
        for(var i=0;i<arr.length;i++){
            var flag=fn(arr[i],i);
            if(flag) newArr.push(arr[i])
        }
        return newArr;
    }

    如何使用:

    var arr=[1,2,3,4];
    
    var flag=arr.some(function(item,index){
        return item>2;
    });
    
    console.log(flag);
    
    var newArr=arr.map(function(item,index){
        return item*2;
    });
    
    console.log(newArr);
    
    //  依次类推
  • 相关阅读:
    mustache.js 使用
    iscroll4 input textarea不能获得焦点问题
    object-fit?
    window.open()被拦截问题
    JSONP
    mouseenter和mouseover的区别
    前端页面卡顿-代码优化
    如何设置html中img宽高相同-css
    iscroll使用之页面卡顿问题
    iScroll的简单使用
  • 原文地址:https://www.cnblogs.com/qietu/p/11961358.html
Copyright © 2011-2022 走看看