JS--Array的常用方法map、reduce、filter、forEach、indexOf
来源:互联网 发布:centos 7服务器版安装 编辑:程序博客网 时间:2024/05/16 12:38
我对此的理解就是map 用来操作单个元素的的并行器,reduce就是将每个元素进行叠加的行为操作器,filter就是个条件过滤器,forEach与for作用一样,使用方法不同,indexOf就是判断是否存在数组中并返回位置下标。
下面举出来个例子可以很好的看出来这几个内建方法的使用方法及自身的特点:
首先自定义一个数组,之后代码都会用到:
var arr = [1,3,5,7,9,1,2,3,4,5];
1、map
//对每个元素进行相同的求平方操作 var result1 = arr.map(mul); function mul(x){ return x*x; } console.log(result1);
2、reduce
//接收两个参数,reduce(pre,current)把结果继续和序列的下一个元素做累积计算 var result2 = arr.reduce(function(x,y){ return x+y; },0); console.log(result2);
3、filter
//目的是找重复的元素 function duplicates(arr) { return arr.filter(function(item,index){ return arr.indexOf(item)==index && arr.lastIndexOf(item)!=index; }); }
return返回的是满足条件的元素,duplicates最终是返回一个数组。显而易见的条件过滤器。
4、forEach
//Uses forEach to iteratearr.forEach(function(item,index){ console.log(item);});
5、indexOf
indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1。
var arr1 = ['apple','orange','pear'];console.log("found:", arr1.indexOf("orange") != -1);
6、小结
看一看map这个函数,当你需要对数组里的每个元素依次做一些操作时,而并不在乎处理这些元素的顺序。你可以向前或向后遍历整个数组,得到的结果是一样的,不是吗? 事实上,如果你的机器是2cpu的,你可以写出一些程序让每个cpu个处理一半的元素,你的map一下子就变快了2倍。
或者,只是个假设,在你遍布全球的数个数据中心里,你有成千上万的服务器,你有一个非常非常大的数组,我说过,只是假设,它们装载着整个互联网的内容信息。那现在,你就可以在你的成千上万的计算机上运行map函数,每个机器都能分摊掉计算中的一小部分任务。
所以,如今,举个例子,要想写出一个十分高效的能搜索整个互联网内容信息的代码,你只需要简单的用基本搜索字符串当作参数来调用map函数就行了。
像map 和 reduce这样的函数每个人都可以使用,当人们使用它时,你只需要找到一个编程能手写出最困难的调用map 和 reduce 函数的代码,让它们能够运行在全球大量的并行执行的计算机上,而以前旧的运行的很好的代码只需要调用这个循环操作,唯一不同的是,它们获得了比以前千万倍快的速度,这意味着你能做瞬间处理完巨大的计算工作。
- JS--Array的常用方法map、reduce、filter、forEach、indexOf
- JS Array常用方法indexOf/filter/forEach/map/reduce详解
- 常用数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个现在就该使用的数组Array方法: indexOf/filter/forEach/map/reduce详解
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- ES5中Array新增加的API接口 forEach map filter some every indexOf lastIndexOf reduce reduceRight
- Array 的五种迭代方法 -----filter() 、forEach() 、map() (常用这三种)
- array之reduce/map/forEach/filter
- JS Array ...map ,reduce , filter..
- js数组的遍历方法filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
- JS map forEach filter indexOf 用法
- js map, reduce, forEach, filter的一般实现
- 中缀式变后缀式
- Android Studio 如何导入aar包
- 安装latexdiff
- tf.nn.softmax_cross_entropy_with_logits()
- 如何用eclipse创建你的第一个servlet小程序
- JS--Array的常用方法map、reduce、filter、forEach、indexOf
- oracle biee 12c windows install
- js获取当前时间
- 电子技术相关网站
- c++ char与二进制互转
- nyoj--290--动物统计加强版
- Uvalive 7503
- debian9 ping 提示connect: network is unreachable 问题的解决
- SpringMVC HandlerInterceptorAdapter