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: "下午",
},{
es6字符串转数组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使⽤的⽅法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论