循环遍历总结(for/foreach/forin/forof/map/some/filter)
来源:互联网 发布:航线保持算法 编辑:程序博客网 时间:2024/05/19 15:44
for-of 循环
- 代码示例
for (var value of myArray) {console.log(value);}
- 循环的对象需为一个数组
- 无法记录索引
- 可以相应break、continue、return语句
- 可用来遍历对象属性
- 可用来遍历对象的自值
- 无法获取到对象或数组遍历的索引
for 循环
最基础的循环,循环内部可用到循环索引
- 代码示例
for (var index = 0; index < myArray.length; index++) {console.log(myArray[index]);}
foreach循环
myArray.forEach(function (value) {console.log(value);});
- 无法使用break中断循环或用return返回到外层函数
for-in循环
for (var index in myArray) { console.log(myArray[index]);}
- 赋值给index的值不是实际的数字,是字符串’0’、’1’、’2’、’3’…..用于计算时可能出现未知的错误
- for-in循环会遍历自定义属性
- 在某些情况下,这段代码可能按照随机顺序遍历数组元素
- 简而言之,for-in 是为普通对象设计的
map
arr.map(function(m,n,k){ console.log(m); //val console.log(n); //index console.log(n); //arr})
- 函数中第一个参数为遍历某一项的值
- 函数中第二个参数为遍历某一项的索引
- 函数值后的参数指向数组本身
some
- 用于检测数组中元素是否满足指定条件
- 如果有一个元素满足就返回true,不再检测
- some() 不会对空数组进行检测。
- some() 不会改变原始数组。
$scope.documents.some(function (item) { if (item._id === $scope.currentDocument._id) { $scope.currentDocument = item; return true; } else { return false; }});
filter
过滤数组中的元素,以下面的数组记录重复值为例
function uniqSet(arr) { var seen = new Set(); return arr.filter(function(el) { if(!seen.has(el)) { seen.add(el); return true; } return false; });}
- 以上代码中的参数el为数组每次遍历到的那个值
- 使用return结束本次循环
EDN
阅读全文
0 0
- 循环遍历总结(for/foreach/forin/forof/map/some/filter)
- JavaScript 遍历方法总结 forEach some every filter map includes
- JS中 map, filter, some, every, forEach, for in, for of 用法总结
- JS中 map, filter, some, every, forEach, for in, for of 用法总结
- 浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
- 数组遍历filter,forEach,map,every,some,reduce
- js数组遍历some,foreach,map,filter,every对比
- javaScript循环总结(for,for-in,for-of,forEach,map,filter,every,reduce,reduceRight)
- forIN 和 forOf
- Array 的五种迭代方法(every/filter/forEach/map/some)
- for循环、forEach、map、filter区别及效率分析
- js数组的遍历方法filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
- js中数组过滤、遍历、迭代every、some、filter、map、forEach、reduce、reduceRight
- 遍历数组的两种写法,for循环和forin
- foreach循环及Map遍历
- 对于数组的every、filter、forEach、map、some方法的区别总结
- javascript中使用迭代操作数组替代for循环(map,filter,some,every,reduce,find )
- 重写数组迭代新方法every,filter,map,some,forEach
- 译见|深度剖析「微服务架构」的九大特征
- ros卸载
- JAVA基础知识
- 剑指offer 跳台阶
- 10道典型的JavaScript面试题+5道JavaScript基础面试题
- 循环遍历总结(for/foreach/forin/forof/map/some/filter)
- 后台界面实时获取用户输入内容,springMVC+Ajax实现(源码)
- 合并两个有序的单链表
- 记录
- HDU P2586 How far away ?
- web开发|如何选择合适的webui框架
- memblock add memblock region流程
- MySQL Server 安装失败 The action 'Install' for product 'MySQL Server 5.7.20' failed.
- Python基础入门之List和Tuple类型一