forEach
功能: 循环遍历数组中的每一项,只能遍历数组
写法:
数组对象.forEach(function(参数变量名1,参数变量名2,参数变量名3)){
// 做一些操作,forEach是没有返回值...map
功能:循环遍历数组中的每一项,也只能遍历数组
写法
数组对象.map(callback(参数名1,参数名2,参数名3){
// 对原数组做一些操作
}
特点
map使用方式与forEach类似...,只是将原来的数组拷贝了一份,把拷贝的数组项进行更改,支持链式调用
使用场景
场景1: 拷贝原数组,改变一些东西,假定有一个数组(A),将A数组中的值以双倍的数值放到B数组中
Es5写法
var numbersA...界面,点击左边的商品列表页面,进入到商品对应的详情页(博客,新闻都与这类似)
同for循环的性能比较
这是一个容易引起撕扯的话题,笔者准备不进行大篇幅的介绍,结论先行,从两个角度出发:
性能上:for...迭代器进行遍历,先取到数组中的每一项的地止放入到队列中,然后按顺序取出队里的地址来访问元素
大体上讲,如果数据量不是很大的情况下,抛开业务场景和使用便利性,单纯谈性能和效率是没有意义的,一些Es5,ES6