数组的9个循环方式:foreach,map,filter,includes,find,findIndex ,some,every,reduce区别

  • forEach----只遍历数组, 不返回新数组
  • map----对每项元素做改变后,返回新数组
  • filter----筛选出符合条件的数组
  • includes----判断数组是否含有某值
  • find----筛选数组:找元素
  • findIndex----筛选数组:找索引
  • every----判断数组中每一项是否符合条件(内部return false时跳出整个循环)
  • some----判断数组中某些项是否符合条件(内部return true时跳出整个循环)
  • reduce----对每项元素做叠加,返回叠加后的值

1,forEach() --- 遍历数组

循环遍历数组,无法break 跳出循环,返回 n 个遍历的对象

let array = [1,2,3,4,5];                      
array.forEach((item,index)=>{                      
  console.log(item,index)                      
})                             
  // 1,0
  // 2,1                            
  // 3,2                            
  // 4,3                             
  // 5,4

2,map() --- 更新数组

让数组通过一个计算产生一个新数组,return 返回一个新数组

let array = [1,2,3,4,5];                      
let newArr = array.map((item,index)=>{
    return item*2                        
})                            
console.log(newArr)                      
// [2,4,6,8,10];

3,filter() --- 筛选数组

根据条件筛选出数组中符合的条件的项,return 返回一个新数组

let array = [1,2,3,4,5];                      
let newArrFilter = array.filter((item,index)=>{
    return item >3
})
console.log(newArrFilter)
// [4,5]

4,includes() --- 筛选数组

判断数组是否包含某一项,返回 Boolean 值

let array = [1,2,3,4,5];
let includes = array.includes(5)
console.log(includes )
// true

5,find() --- 筛选数组

在集合中找到符合条件的元素,跳出循环,return 返回数组中符合的元素

let array = [1,2,3,4,5];
let find = array.find((item,index)=>{
  retutn item >2
})
console.log(finds)
// 3

6,findIndex() --- 筛选数组

在集合中找到符合条件的元素,跳出循环,return 返回数组中符合元素的序列

let array = [1,2,3,4,5];
let findIndex = array.findIndex((item,index)=>{
  retutn item >2
})
console.log(findIndex)
// 2

7,every() --- 判断数组

检查数组中每一项是否符合条件,全部都满足才为 true ,return 返回 Boolean

let array = [1,2,3,4,5];
let everyArr1 = array.every((item,index)=>{
  retutn item > 0
})
let array = [1,2,3,4,5];
let everyArr2 = array.every((item,index)=>{
  retutn item > 3
})
console.log(everyArr1) // true
console.log(everyArr1) // false

8,some --- 判断数组

检查数组中每一项是否符合条件,有一个符合则为true,return 返回 Boolean

let array = [1,2,3,4,5];
let someArr1 = array.some((item,index)=>{
  retutn item > 1
})
let array = [1,2,3,4,5];
let someArr2 = array.some((item,index)=>{
  retutn item > 7
})
console.log(someArr1) // true
console.log(someArr1) // false

9,reduce() --- 叠加数组

让数组中前项和后项做某种计算,并累计最终值,retrun 返回一个值

let array = [1,2,3,4,5];
let reduceArr = array.reduce((prev,next)=>{
  retutn prev + next
})
console.log(reduceArr) // 15(number)

 

posted @ 2021-08-05 13:58  挽你手  阅读(423)  评论(0编辑  收藏  举报