一、myForEach

//myForeach    数组每个元素都执行一次回调函数
Array.prototype.myForEach = function(callback){
for(var i = 0 ; i < this.length ; i++){
var element = this[i];
callback(element,i,this);
}
}

二、myEvery

//myEvery    检测数值元素的每个元素是否都符合条件
Array.prototype.myEvery = function(callback){
for(var i = 0 ; i < this.length ; i++){
var item = this[i];
if(!callback(item,i,this)){
return false;
}
}
return true;
}

三、mySome

//mySome    检测数组元素中是否有元素符合指定条件
Array.prototype.mySome = function(callback){
for(var i = 0 ; i < this.length ; i++){
var item = this[i];
if(callback(item,i,this)){
return true;
} }
return false;
}

四、myFilter

//myFilter    检测数值元素,并返回符合条件所有元素的数组
Array.prototype.myFilter = function(callback){
for(var i = 0 ; i < this.length ; i++){
var item = this[i];
if(callback(item,i,this)){
arr[temp] = item;
temp++;
}
}
return arr;
}

五、myReduce

//myReduce    将数组元素计算为一个值(从左到右)
Array.prototype.myReduce = function(callback,initialValue){
var num = 0;
if (initialValue != undefined) {
total = initialValue;
}else{
total = this[0];
num = 1;
} for(i = num ; i < this.length ; i++){
var item = this[i];
total = callback(total,item,i,this); }
return total;
}

以上回调函数只是手写简化版,无法传this参数,若有误(或建议),请指正。 ^_^

js中Array方法重写(二):myForEach;myEvery;mySome;myFilter;myReduce的更多相关文章

  1. String方法,js中Array方法,ES5新增Array方法,以及jQuery中Array方法

    相关阅读:https://blog.csdn.net/u013185654/article/details/78498393 相关阅读:https://www.cnblogs.com/huangyin ...

  2. js中Array方法归类解析

    为什么要对Array方法进行归类解析 因为它常用,而且面试必问 改变原数组的方法 pop 删除并返回数组最后一个元素push 从末尾给数组添加元素,返回新数组length值reverse 颠倒数组元素 ...

  3. 原生JS中apply()方法的一个值得注意的用法

    今天在学习vue.js的render时,遇到需要重复构造多个同类型对象的问题,在这里发现原生JS中apply()方法的一个特殊的用法: var ary = Array.apply(null, { &q ...

  4. js中apply方法的使用

    js中apply方法的使用   1.对象的继承,一般的做法是复制:Object.extend prototype.js的实现方式是: Object.extend = function(destinat ...

  5. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  6. Cookie和Session在Node.JS中的实践(二)

    Cookie和Session在Node.JS中的实践(二) cookie篇在作者的上一篇文章Cookie和Session在Node.JS中的实践(一)已经是写得算是比较详细了,有兴趣可以翻看,这篇是s ...

  7. JavaScript中Array方法总览

    title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...

  8. 【转载】JS中bind方法与函数柯里化

    原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...

  9. paip.编程语言方法重载实现的原理及python,php,js中实现方法重载

    paip.编程语言方法重载实现的原理及python,php,js中实现方法重载 有些语言,在方法的重载上,形式上不支持函数重载,但可以通过模拟实现.. 主要原理:根据参数个数进行重载,或者使用默认值 ...

随机推荐

  1. Python笔记(二十)_多态、组合

    多态 对于函数中的变量,我们只需要知道它这个变量是什么类,无需确切地知道它的子类型,就可以放心地调用类的方法,而具体调用的这个方法是作用在父类对象还是子类对象上,由运行时该对象的确切类型决定,这就是多 ...

  2. Bootstrap 学习笔记4 巨幕页头略缩图警告框

  3. 校内模拟赛T5:连续的“包含”子串长度( nekameleoni?) —— 线段树单点修改,区间查询 + 尺取法合并

    nekameleoni 区间查询和修改 给定N,K,M(N个整数序列,范围1~K,M次查询或修改) 如果是修改,则输入三个数,第一个数为1代表修改,第二个数为将N个数中第i个数做修改,第三个数为修改成 ...

  4. jQuery DataTables 问题:Cannot reinitialise DataTable

    解决:  destroy: true, var tabel = $('#userlist').DataTable({        destroy: true,                    ...

  5. Fitness初接触

    http://www.fitnesse.org/FitNesseDownload 1. Click on the most recent fitnesse-standalone.jar file an ...

  6. Map2

    map增加和更新: map["key"] = value //如果key还没有,就是增加,如果key存在就是修改 案例演示: func main() { cities := mak ...

  7. android 学习路线

    转载来源:https://blog.csdn.net/lixuce1234/article/details/77947405 jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图 ...

  8. 洛谷 P1440 求m区间内的最小值(单调队列)

    题目链接 https://www.luogu.org/problemnew/show/P1440 显然是一道单调队列题目…… 解题思路 对于单调队列不明白的请看这一篇博客:https://www.cn ...

  9. 61-python基础-python3-格式化浮点数方法-%e、%f、%g

    1-%e是用科学记数法计数: %f是按指定精确格式化浮点数(默认保留6位): %g是根据数值的大小采用e或%f. 2-%f可以按长度和精度格式化浮点数,如%a.bf,a表示浮点数的长度,b表示浮点数小 ...

  10. P3452 [POI2007]BIU-Offices(链表+bfs)

    P3452 [POI2007]BIU-Offices 新姿势:链表存图快速删除 显然两个没有直接相连的点要放到同一个集合里 但是直接搞一个图的补图会挂掉 考虑用链表维护点序列 每次bfs删除一个点和与 ...