forEach()方法对数组的每个元素依次执行传入的函数,与filter()一样,forEach()中的function回调同样有三个参数**(currentValue元素值,index索引值,array原数组)**,forEach()没有返回值,所以不会将此赋值给其他变量。
// forEach
// 1. 不能break打断
// 2. 没有返回值
// 3. 遍历的是value值
let arr = ['a', 'b', 'c']
let res = arr.forEach(element => { //forEach不返回值,所以不会赋值给res
console.log(element);
// break // break打断会报错
// return element + '1' // return不会赋值给res
});
console.log(res) // undefined
arr.forEach(element => {
console.log(element);
});
console.log(res)
- 对于基本数据类型 => forEach()修改不了原数组
const arr = [1, 2, 3, 4];
arr.forEach(res => {
res= res* 3
})
console.log(arr ); // [1,2,3,4]
- 对于引用类型 => 可以修改原数组
const obj = [{name:'ww',age:20},{name:'zs',age:18}]
obj.forEach((res)=>{
res.age = 16
})
console.log(obj) //{name: "ww", age: 16}{name: "zs", age: 16}