js中map和foreach的用法
在日常开发工作中,经常需要对数组进行一些遍历处理,这个时候大家会想到map和foreach方法,下面简单介绍一下两者的用法和区别
foreach的用法
forEach用来遍历数组,可以改变原数组,不会产生新数组。
let arr = [{ name: '老于', age: 18 }, { name: '张三', age: 15 }, { name: '李四', age: 22 }, { name: '王五', age: 25 }, { name: '老朱', age: 12 }]
let arr1 = []
arr1 = arr.forEach(item => {
item.age = item.age + 5
})
console.log(arr);
console.log(arr1);
输出结果如下:
可以看到原数组已发生改变,用新数组去接收的话返回的是undefined
map的用法
map函数会产生一个新数组,新数组中的元素为return的返回值,原数组不会发生改变
let arr=[1,2,3,4]
arr.map(item=>{item=item*2})
console.log(arr);
原数组并没有发生改变,但是大家要记住数组元素只能是字符和数字哦,如果是引用类型,也是会发生改变的
let arr = [{ name: '老于', age: 18 }, { name: '张三', age: 15 }, { name: '李四', age: 22 }, { name: '王五', age: 25 }, { name: '老朱', age: 12 }]
let arr1 = []
arr.map(item => { item.age = item.age + 5})
console.log(arr);
console.log(arr1);
输出结果是:
可以看到原数组已发生改变