【学习总结】对javascript中数组迭代方法的理解。
来源:互联网 发布:淘宝商家怎么上传商品 编辑:程序博客网 时间:2024/05/16 03:15
ECMAscript为Array类型定义了5个迭代方法。分别是every() /filter()/forEach()/map()/some()
每个方法都接受两个形参:数组每项都要执行的function,运行该函数的作用域对象()(可忽略);数组每项都要执行的function,必须有三个参数,数组项的值,该数组项在数组中的索引,数组对象本身。习惯上我们用(item,index,array)表示。
every():对数组的每一项都执行定义的函数,每一项都返回true,则该函数返回值为true。类似&&。
<script> var arr1=[1,0,5,9,3]; var result=arr1.every(function(item,index,array){ if(item<=10) return item; }) console.log(result);//false </script>
这块代码,数组的每一项都满足if条件,但每一项的返回值并不一定是true,每一项的返回值由return决定,而return 时存在隐形类型转化,这里的是由于数组中有一个item为0,return后自动转化为false.
<script> var arr1=[1,-1,5,9,3]; var text=new Array(); var result=arr1.every(function(item,index,array){ if(item<=10) return text[text.length]=item+1; }) console.log(result);//false console.log(text);//[2, 0] </script>
every()函数存在短路现象,即在遍历对象数组时,只要出现返回值为false,则立马结束遍历,返回结果false。不一定会遍历对象数组的所有项。
filter():对数组每一项都执行定义的函数,返回该函数会返回true的项组成的数组。
var arr1=[1,-1,5,9,3]; var result=arr1.filter(function(item,index,array){ if(item<10){ return item+1; } }) console.log(result);//[1,5,9,3]
返回值由return 后的语句决定。如arr1[1]执行函数后,函数的返回值为false。
返回的数组一定是对象数组的子集或者相等或为 [] (空数组)。
forEach():对数组的每一项执行定义的函数,该方法没有返回值。
var arr1=[1,-1,5,9,3]; var sum=0; arr1.forEach(function(item,index,array){ sum+=item; }) console.log(sum);//17
虽然forEach()函数没有返回值,但一定会遍历对象数组每一项。比for遍历好用。
map():对数组的每一项执行定义的函数,返回每次函数调用结果组成的数组。
var arr1=[1,-1,5,9,3]; var sum=0; var result=arr1.map(function(item,index,array){ if(item<10){ return item+1; } }) console.log(result);
与filter()很类似,会遍历数组的每一项,返回数组中的值由return 后的语句决定。
some():对数组的每一项都会执行定义的函数,如果该函数对任一项返回true,则返回true。类似||。
var arr1=[1,-1]; var text=new Array(); var result=arr1.some(function(item,index,array){ if(item<10){ text[text.length]=item+1; return item; } }) console.log(result);//true console.log(text);//[2]
存在短路现象。即在遍历对象数组时,只要出现返回值为ture,则立马结束遍历,返回结果true。不一定会遍历对象数组的所有项。
- 【学习总结】对javascript中数组迭代方法的理解。
- 一张图看懂JavaScript中数组的迭代方法
- 一张图看懂JavaScript中数组的迭代方法
- javascript Array 数组的迭代方法
- javascript中有关于对数组方法的总结
- javascript 数组迭代方法
- js中数组迭代的方法
- js中数组迭代的方法
- JavaScript中Array的迭代方法
- 对JavaScript 中数组用法的总结
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- javascript中数组的迭代方法对比:forEach()、map()、reduce()、some()、every()、filter()图解
- JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- JAVASCRIPT中数组的迭代方法:FOREACH、MAP、FILTER、REDUCE、EVERY、SOME各个说明
- 看看你对敏捷迭代方法的理解:敏捷迭代考试试题附带答案
- javascript 数组对象中的迭代方法
- javascript 数组对象中的迭代方法
- Html介绍
- linux下矩阵键盘驱动
- VBOX不能为虚拟电脑打开一个新任务解决方法
- 欢迎使用CSDN-markdown编辑器
- BaseDao——基于dbutils实现万能的对象数据库访问
- 【学习总结】对javascript中数组迭代方法的理解。
- 85. Maximal Rectangle
- 解决EditText组件的onTouch方法被调用两次的问题
- 算法 - 插入排序
- Stay Hungry,Stay Foolish的解读
- SVM的最优化问题
- HDU2089-不要62
- LOVE2D-04-加载文字和图片
- 从现在开始写博客