forEach 和 Map 的区别和用法
forEach 和 Map的用法
两者的用法基本一致,循环遍历数组
forEach 和 Map的区别
forEach没有返回值,返回结果为undefined
let arr = ['a', 'b', 'c', 'd']
let myarr = arr.forEach((item,index,arr) => {
console.log('arr['+ index + ']=' + item)
})
console.log(arr);
Map有返回值
let arr = ['a', 'b', 'c', 'd']
let myarr = arr.map((item,index,arr) => {
console.log('arr['+ index + ']=' + item)
})
console.log(arr);
总结:map相当于把原数组克隆一份进行修改,forEach直接在原数组上修改
如何修改原数组的值
错误写法
let arr = ['a', 'b', 'c', 'd']
let myarr = arr.forEach((item,index,array) => {
item = item + 'k'
console.log('arr['+ index + ']=' + item)
})
console.log(arr);
正确写法
let arr = ['a', 'b', 'c', 'd']
let myarr = arr.forEach((item,index,array) => {
array[2] = 's'
console.log('arr['+ index + ']=' + item)
})
console.log(arr);
通过下标索引修改每一项的值来实现数组的修改
forEach 和 Map都用不了continue
这里通过if和return来实现continue
let arr = ['a', 'b', 'c', 'd']
let myarr = arr.forEach((item,index,array) => {
if(item == 'b') {return};
console.log('arr['+ index + ']=' + item)
})
console.log(arr);