1.遍歷對象
forEach()? ? (遍歷數(shù)組中的中)
a只能對數(shù)組對象使用? ?傳入一個function時有三個參數(shù)(index,value,數(shù)組對象)
b與map相似? ?array.forEach(callback,[thisObject])? ? 第一個參數(shù):必須的函數(shù) 第二個參數(shù):你要注入函數(shù)中的數(shù)組
let? abc=[1,2,3];? ? ?let fun1=function(value){ console.log(value+':::')}
abc.forEach(fun1,abc)
-----------------------
map? (對數(shù)組執(zhí)行方法的)(會生成一個新的數(shù)組)
let arrNew=arr.map((item)=>{? ? return item+'hello?'})
map與forEach的區(qū)別? :1forEach 循環(huán)數(shù)組中的值? ? map對循環(huán)的數(shù)組執(zhí)行方法
2forEach沒有返回值? ? ? ? ?map有返回值? (默認(rèn)返回undefined)
3map不會改變原數(shù)組會生成一個新的數(shù)組
----------------------
filter(對數(shù)組過濾)(返回新的數(shù)組)(返回符合條件的數(shù)據(jù))
let arr=[1,2,3,4,5]
arr.filter((item)=>{? return item%2=0})? ?返回符合條件的數(shù)據(jù)
----------------------
reduce? (疊加或者疊減數(shù)組中的每一項)(返回一個新的值)
let arr=[1,2,3,4,5]
arr.reduce((thisTime-value,next-value)=>{ return thisTime-value+next-value},initValue)
參數(shù):本次的值? 下次的值? ?初始值
let abc=[{num:1},{num:21},{num:8}]
abc.reduce((start,next)=>{
return start.num>next.num?{num:start.num}:{num:next.num};})
------------------
some(數(shù)組中是否包含某個值)(返回true|false)(有一個符合的就停止)
***只要循環(huán)中有一個符合條件的就停止? 返回true
arr.some((item)=>{
return item=2
})
------------------------
every(數(shù)組中每一項都符合)(如果有一項不符合就結(jié)束循環(huán),返回false)
arr.every((item)=>{
return item!=0
})
let arr=[1,2,3,4,5]
arr.every((item,key,arr)=>{
return item<3? ?//在item=3時結(jié)束循環(huán) ,并且返回false
})