zoukankan      html  css  js  c++  java
  • 重写数组拓展方法

    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 }
  • 相关阅读:
    kafka生产数据,消费数据
    sparkStreaming
    逻辑训练题(二)--统计一个数字在排序数组中出现的次数。
    逻辑题(一)一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字。
    Markdown语法
    Spring中的AOP 知识点
    spring基于注解的IOC配置 知识点
    Cookie&Session 知识点
    ServletContext域对象 知识点
    response 知识点
  • 原文地址:https://www.cnblogs.com/ssszjh/p/14348341.html
Copyright © 2011-2022 走看看