数组在JS中是十分常用的引用对象,数组占用着一整块的内存空间,数组的成员也是按照数组写入的顺序存入,遍历也自然是按照存入的顺序来遍历,一下罗列出常见的可以称之为对数组数组遍历的方法
1.every
检查数组每一项是否符合特定条件,都满足要求才返回true,否则返回false
var arr = [1,2,3];
arr.every((val,index,arr) => {
return val > 0;
})
//true
2.some
检查数组中是否有符合特定条件的,有任一满足即返回true,全部不满足返回false
arr.some((val,key,arr) => {
return val > 2;
})
//true
3.filter
在数组中找出满足条件的元素,返回符合条件的数组
arr.filter((val,key,arr) => {
return val >= 2;
})
//[2,3]
4.map
遍历数组并对数组做指定操作,返回操作后的数组
arr.map((val, index, arr) => {
return val * 2;
})
//[2,4,6]
5.forEach
遍历数组,对数组做一系列操作,与map()不同的是没有返回值
arr.forEach((val, index, arr) => {
//do something
})
6.for...of
ES6新增遍历方法,可以直接获取数组的值
for(let val of arr){
console.log(val)
}
//1,2,3
7.keys()、values()、entries()
以上不能直接使用arr.keys(),此时返回的是接口对象,常配合for...of使用
for(let key of arr.keys()) {
console.log(key);
}
//0
//1
//2
for(let val of arr.values()) {
console.log(val);
}
//1
//2
//3
for(let [key, val] of arr.entries()) {
console.log(key,val);
}
//0 1
//1 2
//2 3
以上便是常见的数组遍历方法,各有合适的场景