1.for 循环
for(j = 0; j < arr.length; j++) { }
2.forEach 最简单、最常用的数组遍历方法。它提供一个回调函数,可用于处理数组的每一个元素,默认没有返回值。 遍历开始以后无法停止。
arr.forEach(function(e){ });
3.map 会映射返回一个新数组,不会改变原数组的值
var array = arr.map((item,index)=>{ })
4.filter 过滤数组,返回一个新的数组,原数组的元素执行了回调函数之后返回值若为true,则会将这个元素放入返回的数组中。
var newarr = arr.filter((item,index)=>{ return 条件 })
// 例子:筛选出数组arr中所有负数 var arr = [1,-2,3,4,-5] var minus = arr.filter(function(item,index,array){ return item < 0; }); console.log(minus); // [-2, -5]
5.some 遍历整个数组,返回值true就停止循环(返回false继续循环)返回布尔值 多用于判断数组中是否存在
arr.every(function(value, index, array){ // arr中有几项,该匿名回调函数就需要执行几次 // value —— 数组中的当前项 // index —— 当前项的索引 // array —— 原始数组 return xxx }) //例子:判断arr中的元素是否都为正数 var arr = [1,-2,3,4,-5] var isEvery = arr.every(function(item, index, array){ return item > 0 }) console.log(isEvery) // false
6.every 与some相反,返回false就停止循环(返回true就继续循环) 返回的是一个布尔值 多用于判断数组中是否存在之类
arr.some(function(value, index, array){ // arr中有几项,该匿名回调函数就需要执行几次 // value —— 数组中的当前项 // index —— 当前项的索引 // array —— 原始数组 return xxx }) //例子:判断数组arr中是否存在负数 var arr = [1,-2,3,4,-5] var isSome = arr.some(function(item,index,array){ return item < 0; }); console.log(isSome); // true
7.reduce 实现数据的累加
arr.reduce(function(prev, cur, index, array){ // array——原数组 // prev——上一次调用回调时的返回值,或者初始值init // cur——当前正在处理的数组元素 // index——当前正在处理的数组元素的索引 // init——初始值 }, init) //求和 var sum = arr.reduce(function (prev, cur) { return prev + cur; },0); //取最大值 var max = arr.reduce(function (prev, cur) { return Math.max(prev,cur); });
8.for..of ES6中,新增了for-of遍历方法。它被设计用来遍历各种类数组集合,例如DOM NodeList对象、Map和Set对象,甚至字符串也行。
// for-of遍历数组,不带索引,i即为数组元素 for ( let i of arrTmp){ console.log(i) } //输出 "value1" "value2" "value3" // for-of遍历Map对象 let iterable = new Map([[ "a" , 1], [ "b" , 2], [ "c" , 3]]); for ( let [key, value] of iterable) { console.log(value); } //输出 1 2 3 // for-of遍历字符串 let iterable = "china中国" ; for ( let value of iterable) { console.log(value); } //输出 "c" "h" "i" "n" "a" "中" "国"
顺带记录以下for…of…与for..in…的区别
for…in…只能获得对象的键名,不能获得键值
for…of…允许遍历获得键值
var arr = ['red', 'green', 'blue'] for(let item in arr) { console.log('for in item', item) } /* for in item 0 for in item 1 for in item 2 */ for(let item of arr) { console.log('for of item', item) } /* for of item red for of item green for of item blue */
今天的文章遍历数组的几种方式是什么_循环遍历数组分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/50749.html