forEach与map都是遍历数组的,但map会返回一个新数组(如果map的函数里不使用return返回值,新数组的值都是undefined),forEach是不会返回一个新数组。 map 与forEach 根据索引遍历数组 // map方式 var data = [1, 2, 3, 4]; var arr = data.map((item,index)=>{ if(item === 2){ data.splice(index, 1) } console.log(data,item,index); }