常用数组遍历方法
1. f o r 循 环 \color{red}{1.for循环} 1.for循环
for (let i=0;i<arr.length;i++){
}
2. f i l t e r \color{red}{2.filter} 2.filter
遍历原数组找数组中满足条件的所有值,返回给新数组
let arr = [
{ name:'admin', age:23,id:1001},
{ name:'root', age:22,id:1002},
{ name:'rose', age:22,id:1003}
]
let newArr = arr.filter((item,index)=>{
return item.age=22
})
3. f o r E a c h \color{red}{3.forEach} 3.forEach
遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE
//1 没有返回值
arr.forEach((item,index,array)=>{
//执行代码
})
//参数:item数组中的当前项, index当前项的索引, array原始数组;
//数组中有几项,那么传递进去的匿名回调函数就需要执行几次;
4. f i n d \color{red}{4.find} 4.find
find 遍历原数组找数组中满足条件的第一项返回,没找到返回undefined
let arr = [
{ name:'admin', age:23,id:1001},
{ name:'root', age:22,id:1002},
{ name:'rose', age:22,id:1003}
]
let newArr = arr.find((item,index)=>{
return item.age=22
})
5. m a p \color{red}{5.map} 5.map
map 遍历数组,将原数组按条件映射为一个新数组
var arr = [12,23,24,42,1];
var newArr = arr.map(function (item,index,ary ) {
return item*10;
})
console.log(newArr);//-->[120,230,240,420,10]; 原数组拷贝了一份,并进行了修改
console.log(arr);//-->[12,23,24,42,1]; 原数组并未发生变化
6. s o m e \color{red}{6.some} 6.some
some 遍历数组,查找是否有满足条件的项,如果有一个 满足条件,返回true,否则返回false
var arr = [ 1, 2, 3, 4, 5, 6 ];
var newArr = arr.some(function(item,index,array){
return item>3
})
true
7. f i n d I n d e x \color{red}{7.findIndex} 7.findIndex
遍历数组,查找是否有满足条件的项,返回序号
var arr = [ 1, 2, 3, 4, 5, 6 ];
var index = arr.findIndex(item => item == 2) //1
8. e v e r y \color{red}{8.every} 8.every
遍历数组,查找是否有满足条件的项,所有 都满足条件才返回true,否则返回false
var arr = [ 1, 2, 3, 4, 5, 6 ];
console.log( arr.every( function( item, index, array ){
return item > 3;
}));
false