遍历就是指把数组中的每一个元素拿到并进行操作
- 数组都是有下标(索引)的
- 数组的下标都是从 0 开始
- 遍历数组通常是通过数组的下标,拿到对应的元素
- 数组的长度 arr.length (arr是数组名)
1、for循环
最常用的遍历方式
var arr = [1,23,54,21,54,8,7];
for(var i = 0; i < arr.length; i++){// 可以看见数组的长度是 7 ,但是下标是从 0 开始,最大下标是 6 , 所以 i < 长度就可以了
console.log(arr[i]);
}
2、forEach()遍历
- 作为一个方法,我们可以直接通过 arr.forEach() 来操作数组
- forEach() 中需要将一个函数作为参数,函数中需要传递三个形参,分别是 value (元素值 ),index (元素索引), array (数组)
- 形参可以随意写,只要自己明白就可以 ( v,i,arr)这样写也可以
- forEach() 没有返回值
arr.forEach(function(value,index,array){
console,log(value);
});
3、map() 方法
- 与 forEach() 的用法相同
- map() 可以接收返回值,将返回值以数组的形式输出
var newArr = arr.map(function(value,index,array){
var n = value*2;
return n;
});
console.log(newArr);//[2, 46, 108, 42, 108, 16, 14]
4、some() 方法
- 与 forEach() 的用法相同
- 只要有一个值满足条件就返回 true ,所有的值都不满足就返回 false
var newArr = arr.some(function(value,index,array){
return value > 20;
})
console.log(newArr);
5、every() 方法
- 与 some() 方法刚好想反
- 只要有一个值不满足条件就返回 false ,所有的值都不满足就返回 true
var newArr = arr.some(function(value,index,array){
return value > 20;
})
console.log(newArr);
6、 filter() 方法
- 将满足条件的元素打包成数组返回
var newArr = arr.filter(function(vaule,index,array){
return value > 20;
});
console.log(newArr);//[23, 54, 21, 54]
7、find() 方法
- 将满足条件的元素返回,只返回第一个就结束
var newArr = arr.find(function(vaule,index,array){
return value > 20;
});
console.log(newArr);//23
8、for( var i in arr)
- JS中万物皆可看作对象,所以数组也可以看作对象,那么遍历对象的方法,也可以用来遍历数组
- 重点:这种方法返回的 i 是字符串类型的,如果需要 number 类型就转换一下
for(var i in arr){//
console.log(arr[i]);
}