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使用的方法

posted @   三线码工  阅读(2322)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示