js循環es6語法some、forEach、map怎么用


 

forEach不支持break和return。一般普通循環都是用forEach

ar arr1=["aa","bb","aa","dd"];
arr1.forEach((item,index) => { // console.log("index-> "+index+" item->"+item) if(item=="aa"){ arr1[index]="變";
            //break;//寫break將會報錯
return true;//無效 } }) console.log(arr1)

控制台內容為 ["變", "bb", "變", "dd"]

forEach:說明進入判斷后還會繼續執行判斷,直到循環結束

 

some方法在forEach用不了的情況下使用,例如需要跳出循環操作

arr1.some((item,index) => {
                // 和forEach一樣功能,但是可以有return值
                // console.log("index-> "+index+" item->"+item)
                if(item=="aa"){
                    arr1[index]="變";
          //arr1.splice(index,1)//循環刪除元素內容,只能用some方法,不能用foreach
return true;//在some方法中,return true; 會跳出當前循環 } }) console.log(arr1)

控制台內容為 ["變", "bb", "aa", "dd"]

some:說明進入判斷后會跳出當前循環,不會再執行內容。(這樣就可以節約資源,找到內容了后就不再找了)

 

map

map() 方法返回一個新數組,數組中的元素為原始數組元素調用函數處理后的值。

map() 方法按照原始數組元素順序依次處理元素

下面我想數組的date_month_year、date_time、period_time拼接成一個新的字符串,然后id任然對應着

 var data=[
                 {
                     date_month_year: "2021-10-19",
                     date_time: "15:00",
                     goods_Id: 30,
                     id: 1,
                     period_time: "下午",
                 },{
                     date_month_year: "2021-10-29",
                     date_time: "15:20",
                     goods_Id: 30,
                     id: 1,
                     period_time: "下午",
                 }
             ]
             var list=data.map((item)=>{
                 return {
                     str:item.date_month_year+item.period_time+item.date_time,
                     id:item.id
                 }
             })

返回一個新數組list 它就是被map處理過的新數組

var list2=[]
            data.forEach((item,index) => {
                list2.push({id:item.id,str:item.date_month_year+item.period_time+item.date_time})
            })

這是使用foreach使用的方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM