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); // 依次类推

最新文章

  1. 作为前端应当了解的Web缓存知识
  2. 磁盘阵列(RAID)实例
  3. Python3 windows如何安装模块 setuptools
  4. MWeb
  5. 原生JavaScript技巧大收集(11~20)-(终于又被我找到这篇文章了)
  6. Xcode命令行生成Bitcode静态库
  7. linux 搭建 nexus 私服及配置
  8. Xaml代码格式设置
  9. Android----二维码开发
  10. Oracle笔试题库 附参考答案
  11. Maven的下载,安装,配置,测试,初识
  12. (2环境架设)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  13. phpStorm安装方法
  14. RSA签名和验证数据
  15. windows常用快捷键和指令
  16. dedecms中arclist标签做分页以及分页点击模块样式错乱问题
  17. k8s单机部署1.11.5
  18. python 读取hive数据
  19. 关于Android开发环境的演变
  20. koa 中,中间件异步与同步的相关问题

热门文章

  1. Linux下Mysql安装教程详解
  2. Python迭代器(函数名的应用,新版格式化输出)
  3. 大数据相关概念和hdfs
  4. DOM HTML
  5. ios 10 访问设置问题
  6. 【分享】Jenkins自动化部署全套视频教程
  7. [Linux] Nginx服务下统计网站的QPS
  8. Python爬虫(学习准备)
  9. いくnotepad++
  10. nginx配合gotty的websocket连接配置