learn-es6常用语法(2)
1.遍历对象
forEach() (遍历数组中的中)
a只能对数组对象使用 传入一个function时有三个参数(index,value,数组对象)
b与map相似 array.forEach(callback,[thisObject]) 第一个参数:必须的函数 第二个参数:你要注入函数中的数组
let abc=[1,2,3]; let fun1=function(value){ console.log(value+':::')}
abc.forEach(fun1,abc)
-----------------------
map (对数组执行方法的)(会生成一个新的数组)
let arrNew=arr.map((item)=>{ return item+'hello?'})
map与forEach的区别 :1forEach 循环数组中的值 map对循环的数组执行方法
2forEach没有返回值 map有返回值 (默认返回undefined)
3map不会改变原数组会生成一个新的数组
----------------------
filter(对数组过滤)(返回新的数组)(返回符合条件的数据)
let arr=[1,2,3,4,5]
arr.filter((item)=>{ return item%2=0}) 返回符合条件的数据
----------------------
reduce (叠加或者叠减数组中的每一项)(返回一个新的值)
let arr=[1,2,3,4,5]
arr.reduce((thisTime-value,next-value)=>{ return thisTime-value+next-value},initValue)
参数:本次的值 下次的值 初始值
let abc=[{num:1},{num:21},{num:8}]
abc.reduce((start,next)=>{
return start.num>next.num?{num:start.num}:{num:next.num};})
------------------
some(数组中是否包含某个值)(返回true|false)(有一个符合的就停止)
***只要循环中有一个符合条件的就停止 返回true
arr.some((item)=>{
return item=2
})
------------------------
every(数组中每一项都符合)(如果有一项不符合就结束循环,返回false)
arr.every((item)=>{
return item!=0
})
let arr=[1,2,3,4,5]
arr.every((item,key,arr)=>{
return item<3 //在item=3时结束循环 ,并且返回false
})