es6 最新函数封装(简易版)
2024-08-31 22:05:58
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); // 依次类推
最新文章
- 作为前端应当了解的Web缓存知识
- 磁盘阵列(RAID)实例
- Python3 windows如何安装模块 setuptools
- MWeb
- 原生JavaScript技巧大收集(11~20)-(终于又被我找到这篇文章了)
- Xcode命令行生成Bitcode静态库
- linux 搭建 nexus 私服及配置
- Xaml代码格式设置
- Android----二维码开发
- Oracle笔试题库 附参考答案
- Maven的下载,安装,配置,测试,初识
- (2环境架设)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
- phpStorm安装方法
- RSA签名和验证数据
- windows常用快捷键和指令
- dedecms中arclist标签做分页以及分页点击模块样式错乱问题
- k8s单机部署1.11.5
- python 读取hive数据
- 关于Android开发环境的演变
- koa 中,中间件异步与同步的相关问题