数组循环

1.arr.forEach--替代for循环

//无return

let arr=['a','b','c','d','aa','bb','cc'];
arr.forEach((item,inx,array)=>{
  console.log(item)
})

 

 

2.arr.map--做数据交互映射(重新整理数据结构)

//无return--和forEach相同
//有return--返回新数组

let arr=['a','b','c','d','aa','bb','cc'];
arr.map((item,inx,array)=>{
   return item
})

//["a", "b", "c", "d", "aa", "bb", "cc"]

 

 

3.arr.filter--过滤一些不合格元素(如果回调函数返回true,则留下)

//返回新数组

let arr=['a','b','c','d','aa','bb','cc'];
arr.filter((item,inx,array)=>{
   return item.indexOf('a')!==-1
})

//["a", "aa"]

 

 

4.arr.some--类似查找(数组中某一元素符合条件,返回true)

//返回 true  false

let arr=['a','b','c','d','aa','bb','cc'];
arr.some((item,inx,array)=>{
   return item=='aaa'
})

//false

 

 

5.arr.every--查找(数组中所有元素符合条件,才返回true)

//返回 true  false

let arr=['a','aa','aaa','aaaa'];
arr.every((item,inx,array)=>{
   return item.indexOf('a')!=-1
})

//true

 

 

6.arr.reduce--求数组的和,阶乘,乘积(从左往右)

//接受参数 pre,cur,index,array
//阶乘 Math.pow(pre,cur
) 和 pre**cur 意思一样
let arr=[2,2,3];
arr.reduce((pre,cur,index,array)=>{
   return pre**cur
})

//64

 

 

7.arr.reduceRight--求数组的和,阶乘,乘积(从右往左)

//接受参数 pre,cur,index,array
//阶乘 Math.pow(pre,cur)  和  pre**cur 意思一样
let arr=[2,2,3];
arr.reduceRight((pre,cur,index,array)=>{
   return pre**cur
})

//81

 

8.(for...of... )

无return
//
arr.keys() --数组下标 //arr.entries() --数组某一项 let arr=['a','b','c','d','aa','bb','cc']; //循环值 for(let item of arr){ console.log(item) } //循环索引 for(let inx of arr.keys()){ console.log(inx) } //循环索引,值 for(let data of arr.entries()){ console.log(data) } //循环索引,值 for(let [key,value] of arr.entries()){ console.log(key,value) }

 

posted @ 2021-07-26 20:55  诉诉飞飞  阅读(155)  评论(0编辑  收藏  举报