數組在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
以上便是常見的數組遍歷方法,各有合適的場景