利用js可以实现对数组中各个元素的遍历,我们已知的数组遍历的方法有很多,这里只总结了一部分比较常用的方法供大家参考,其他有遗漏的方法以及详细的步骤可以去翻阅官方文档去查询:
1.forEach遍历
缺点:不能使用 break 语句来跳出循环,也不能使用 return 语句来从闭包函数中返回。
代码如下:
var arr = [1, 2, 3, 4, 5, 6]
arr.forEach(function(item,index,arr){
console.log(item); //数组的每一项
console.log(index); //数组每一项的索引号
console.log(arr); //数组
})
2.filter遍历
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,当然它也是一个数组遍历的方法,与方法一大同小异,代码如下:
var arr = [1, 2, 3, 4, 5, 6]
var str = arr.filter(function(itme,index,arr){
//console.log(item); //数组的每一项
//console.log(index); //数组每一项的索引号
//console.log(arr); //数组
return (item > 3)
})
console.log(str) //[4,5,6]
3.some遍历
some()方法用于检测数组中的元素是否满足指定条件,并会依次执行数组的每个元素,如果有一个元素满足条件则表达式返回ture,剩余元素不会再执行检测,如果没有满足条件的元素,则返回false。代码如下:
var arr = [1, 2, 3, 4, 5, 6]
console.log(arr.some(function (item, index, array) {
console.log('item=' + item + ',index=' + index + ',array=' + array);
return item > 3;
//输出结果如下
item=1,index=0,array=1,2,3,4,5,6
item=2,index=1,array=1,2,3,4,5,6
item=3,index=2,array=1,2,3,4,5,6
item=4,index=3,array=1,2,3,4,5,6
true //当检测到数组中的第四个子元素满足return条件时,后续元素将不再执行检测,这时表达式返回ture
}));
4.every遍历
every()方法用于检测数组所有元素是否都符合指定条件,使用指定函数检测数组中的所有元素,如果检测到数组中有一个元素不能满足,则整个表达式返回false,且剩余的元素不会再进行检测,如果所有元素都满足条件则返回ture。代码如下:
var arr = [1, 2, 3, 4, 5, 6]
console.log(arr.every(function (item, index, array) {
console.log('item=' + item + ',index=' + index + ',array=' + array);
return item > 3;
//输出结果如下:
item=1,index=0,array=1,2,3,4,5,6
false 当检测到数组中的第一个子元素无法满足return的条件时,整个表达式返回false,且剩余的元素不会再进行检测
}));
5.map遍历
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。代码如下:
var arr = [0,2,4,6,8]
var str = arr.map(function(i,a,b){
//console.log(i); //数组的每一项
// console.log(a); 数组每一项的索引号
// console.log(b); 数组
return (i / 2)
})
console.log(str); //[0,1,2,3,4]