1.for循环最常见的(要注意的是var声明的i和let声明的i区别)
let arr=[1,2,3,4,5,6,7,8,9]
//用var声明的i
for(var i=0;i<arr.length;i++){
console.log(i) => 0 1 2 3 4 5 6 7 8
}
console.log(i)=> 9
//用let声明的i
for(let i=0;i<arr.length;i++){
console.log(i) =>0 1 2 3 4 5 6 7 8
}
console.log(i)=>ReferenceError: i is not defined
2.filter 过滤符合条件的元素并加入到一个新数组
let arr=[1,2,3,4,5,6,7,8,9]
let arr2=arr.filter((item,index,arr)=>{
return item > 3
})
console.log(arr2)=>[4,5,6,7,8,9]
//此方法有三个参数,其中item:遍历每一个元素,第二参数:下标,第三个参数:数组本身
//要注意此方法要依靠返回值 所有要加return
3.forEach
let arr=[1,2,3,4,5,6]
arr.forEach((item,index,arr)=>{
console.log(item)
})
//第一个参数遍历的当前的元素
//第二的参数遍历当前元素的下标
//参数当前数组
4.map 该方法会返回一个新数组
let arr=[1,2,3,4,5,6]
let arr2=arr.map((item,index,arr)=>{
item*10
})
console.log(arr2)=> [undefined, undefined, undefined, undefined, undefined, undefined]
为什么回去出现undefind呢? 因为该方法是需要返回值,需要加return
let arr2=arr.map((item,index,arr)=>{
return item*10
})
console.log(arr2)=> [10, 20, 30, 40, 50, 60]
4.findIndex 遍历数组查找符合条件元素,并返回第一次符合条件元素的位置的下标 ,如果都不满足返回-1
let arr=[1,2,3,4,5,6]
let index=arr.findIndex(item=>{
return item >= 3
})
console.log(index)=>2
5.some 该方法会判断数组中的元素 是否满足指定条件,如果有一个满足条件立马跳出循环 返回true 否则返回false
//需要注意的是该方法不会对空数组进行检查
//如果没有return 返回的是false
let arr=[1,2,3,4,5]
let res=arr.some(item=>{
return item > 3
})
console.log(res)=>true
6.every 该方法会判断数组中的元素是否满足条件,如果有一个不满足条件,跳出循环且返回false
//需要注意的是该方法不会对空数组进行检查
//如果没有return 返回的是false
let arr=[1,2,3,4,5]
let res=arr.every(item=>{
return item > 0
})
console.log(res)=>true