访问数组中每个元素的过程叫做遍历。
数组中的forEach和map的区别?
forEach和map的相同点
相同点都是循环遍历数组中的每一项
forEach和map方法里每次执行匿名函数都支持3个参数,
- 参数分别是
① item(当前每一项)
② index(索引值),
③arr(原数组)匿名函数中的this都是指向window只能遍历数组都 不会改变原数组
区别
map方法
- map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值
- map方法不会校验空数组,不会改变原数组
- 浏览器支持:chrome、Safari1.5+、opera 都支持 lE9+,若arr 为空数组,则map 方法返回的也是一个空数组。
forEach 方法
- forEach 方法用来调用数组的每个元素,将元素传给回调函数
- forEach 对于空数组是不会调用回调函数的。无论 ar是不是空数组,forEach 返回的都是 undefined。这个方法只是将数组中的每一项作为callback 的参数执行一次。
for…in 和 for…of 的区别
- for…in 循环可以对数组和对象进行遍历操作,for…of循环只能遍历数组。
- for…in 循环出的是 key,for…of 循环出的是 value 。
- for…of 是 ES6新引入的特性。修复了ES5 引入的for…in的不足。
- for…of 不能循环普通的对象,需要通过和
Object.keys()搭配使用!推荐在循环对象属性的时候独用for…in,在遍历数组的时候的时候使用for…of