javascript中关于map foreach 和reduce的用法简单叙述
来源:互联网 发布:淘宝美工常用ps字体 编辑:程序博客网 时间:2024/06/05 19:39
找了一些关于这方面的资料,特别是从微软网站里找了一些,发现里面讲解的很肤浅,只有一些例子,弄得我弄不明白到底是怎么回事,搜来搜去 在
http://www.zhihu.com/question/24927450/answer/29473357 找到了“可能是”源代码的代码,分析了一下,感觉有些谬误。现修正并写下来并编辑编辑
Array.prototype.forEach = function (fn,thisArg) {var that=this;if(thisArg){ that=thisArg;} for (var i = 0,len = that.length; i < len ; i++) { fn.apply(that,[that[i],i,that]); }}
回调函数参数:3个参数(数组第i个值,i,数组本身)
返回值:无
例子:
var example=[“one”,”two”,”three”].forEach(function(value,i,me){
return value;
});
结果为undefined,因为这个方法调用没有return,他只是执行
Array.prototype.map = function (fn,thisarg) {var that=this;if(thisarg){ that=thisarg} var resultArray = []; for (var i = 0,len = that.length; i < len ; i++) { resultArray[i] = fn.apply(that,[that[i],i,that]); } return resultArray;}
回调函数参数:3个参数(数组第i个值,i,数组本身)
返回值:处理后的数组,一一对应
例子:
var example=[“one”,”two”,”three”].map(function(value,i,me){
return value+”|”+i+”|”+me;
});
结果为数组:
0: “one|0|one,two,three”
1: “two|1|one,two,three”
2: “three|2|one,two,three”
Array.prototype.reduce= function (fn,initValue) { var formerResult ; if(initValue){ formerResult=initValue }else{ formerResult= this[0]; }; for (var i = 1,len = this.length; i < len ; i++) { formerResult = fn.apply(this,[formerResult,this[i],i,this]); } return formerResult;}
回调函数参数:4个参数(前一个值,数组第i个值,i,数组本身)
返回值:处理后的某个值
例子:
var example=[“one”,”two”,”three”].reduce(function(prevous,value,i,me){
return prevous+”|”+value;
});
结果为”one|two|three”
var example=[“one”,”two”,”three”].reduce(function(prevous,value,i,me){
return value;
});
结果为”three”
难理解么,这里结合原型就清楚明白了。我们在这里回调的有四个参数
第一个参数prevous:指的是回调函数上一个处理后的结果
第二个参数指的是当前数组第i个值
第三第四个基本上我们不用。
我们就用第一个和第二个做累加运算。清楚明白没
- javascript中关于map foreach 和reduce的用法简单叙述
- 关于JavaScript中map和reduce的分析
- Python 中 map和reduce 的用法
- javascript中map、foreach、reduce、filter间区别?
- 关于python中,map,reduce,filter,sort函数的用法:
- 关于python中,map,reduce,filter,sorted函数的用法
- 如何形象地解释 JavaScript 中 map、foreach、reduce 间的区别?
- 如何形象地解释 JavaScript 中 map、foreach、reduce 间的区别?
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- javascript中数组的迭代方法对比:forEach()、map()、reduce()、some()、every()、filter()图解
- 如何形象地解释 JavaScript 中 map、foreach、reduce 间的区别?
- JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- JAVASCRIPT中数组的迭代方法:FOREACH、MAP、FILTER、REDUCE、EVERY、SOME各个说明
- javascript中filter和forEach的用法
- JavaScript数组forEach()、map()、reduce()方法
- javascript中foreach的用法
- javascript中foreach的用法
- 数学之路-sas备忘(8)
- 操作系统之简述2
- MediaPlayer类播放音频或者视频
- shell脚本学习网站
- Android SlidingPaneLayout的使用
- javascript中关于map foreach 和reduce的用法简单叙述
- c语言中的一道算法题(小明结识帅哥还是美女的问题)
- LeetCode: Compare Version Numbers
- linux下 nginx + tomcat 服务器集群 (4)
- 读.爱加密分享:APK高级保护方法解析(二)
- ArrayList的toArray
- JPA 2.0 Vs Hibernate:缓存方法的差异(一)
- 所有旧版本JDK在官网中的下载地址
- 大型网站的灵魂——性能