• 重写数组拓展方法


    forEach
    Array.prototype.myforEach function (fn) {
        var arr = this,
            length = arr.length,
            newThis = arguments[1] || global;
        for (var index = 0; index < length; index++) {
            fn.apply(newThis, [arr[index], index, arr])
        }
    
    }
    map Array.prototype.myMap 
    function (fn) {     var arr = this,         length = arr.length,         newThis = arguments[1] || global;     newArr = [];     for (var index = 0; index < length; index++) {         newArr.push(fn.apply(newThis, [arr[index], index, arr]))     }     return newArr }
    filter Array.prototype.myFilter 
    function (fn) {     var arr = this,         length = arr.length,         newThis = arguments[1] || global,         newArr = [];     for (var index = 0; index < length; index++) {         fn.apply(newThis, [arr[index], index, arr]) ? newArr.push(arr[index]) : null     }     return newArr }
    every Array.prototype.myEvery 
    function (fn) {     var arr = this,         length = arr.length,         newThis = arguments[1] || global;     for (var index = 0; index < length; index++) {         if (!fn.apply(newThis, [arr[index], index, arr])) {             return false         }     }     return true }
    some Array.prototype.mySome 
    function (fn) {     var arr = this,         length = arr.length,         newThis = arguments[1] || global;     for (var index = 0; index < length; index++) {         if (fn.apply(newThis, [arr[index], index, arr])) {             return true         }     }     return false }
    reduce Array.prototype.myReduce 
    function (fn, initValue) {     var arr = this,         length = arr.length,         newThis = arguments[2] || global;     for (var index = 0; index < length; index++) {         initValue = fn.apply(newThis, [initValue, arr[index], index, arr])     }     return initValue }
    reduceRight Array.prototype.myReduceRight 
    function (fn, initValue) {     var arr = this,         length = arr.length,         newThis = arguments[2] || global;     for (var index = length; index--;) {         initValue = fn.apply(newThis, [initValue, arr[index], index, arr])     }     return initValue }
  • 相关阅读:
    Spring Boot基础
    MyBatis开启二级缓存
    MyBatis逆向工程
    html实现“加入收藏”代码
    vue-router 基本使用
    vue 脚手架安装
    webpack入门 webpack4常见出错之处
    $.ajax()方法详解
    防止网页被嵌套
    H5字符实体参考
  • 原文地址:https://www.cnblogs.com/ssszjh/p/14348341.html
Copyright © 2020-2023  润新知