ForEach和map的区别
相同点:
- 都是循环遍历数组中的每一项
- forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组)
- 匿名函数中的this都是指向window
- 只能遍历数组不同点
- 1.map()方法
- map定义和用法:
map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。
我的理解就是:原数组进行处理之后对应的一个新的数组。
map()方法按照原始数组元素顺序依次处理元素。
注意:map()方法不会对空数组进行检测。
map()方法不会改变原始数组。
浏览器支持:
chrome、safari、opera都支持
IE:>=9版本
safari: >=1.5
2.forEach
定义和用法
forEach()方法用于调用数组的每个元素,将元素传给回调函数。
注意:forEach对于空数组是不会调用回调函数的。 - ForEach在遍历是不能使用break和return
- for in和for of的区别
- 1、for in可以枚举
- var obj = { a: 1, b: [], c: function () {} }; for (var key in obj) { console.log(key); }
- // 结果是: // a // b // c
- for of不能枚举
- 2、for in枚举数组时
- var arr = [3, 5, 7]; for (var i in arr) { console.log(i); } // 结果是: // 0 // 1 // 2
- //得到的结果是下表
- for of
- var arr = [3, 5, 7]; for (var i of arr) { console.log(i); } // 结果是: // 3 // 5 // 7
- 得到的结果是数值
- 3、for of支持迭代字符串
- let str = 'boo'; for (let value of str) { console.log(value); } // 结果是: // "b" // "o" // "o"
- 4、迭代arguments类数组对象
- (function() { for (let argument of arguments) { console.log(argument); } })(1, 2, 3); // 结果是: // 1 // 2 // 3
- 5、迭代NodeList这类DOM集合
- let elements = document.querySelectorAll('body'); for (let element of elements) { console.log(element.tagName); } // 结果是: // "BODY"
本文深入解析JavaScript中数组的ForEach和Map方法,对比其功能与应用差异,并探讨ForIn与ForOf循环的不同之处,帮助开发者更好地理解和运用这些核心数组操作。
152

被折叠的 条评论
为什么被折叠?



