迭代forEach()
forEach()第一个参数是一个回调函数
对于数组的每一个元素,它都会执行这个回调函数
而且这个回调函数有默认的参数
分别是数组元素、数组索引、数组引用
数组引用就是数组自身的引用
(这个参数顺序与下面的map()、filter()、some()、every()都是一样的)
看下面这个例子就明白了
['a', 'b', 'c', 'd', 'e'].forEach(console.log);
控制台输出打印如下
我们也可以把这个写的更直白一些
['a', 'b', 'c', 'd', 'e'].forEach(function(value, index, arr){
console.log(value, index, arr);
});
所以我们一般就是这样使用这个方法的
[].forEach(function(value, index, arr){
...
});
不过要特别注意,这个回调函数中参数的顺序与jQuery是不同的
下面是jQuery中的each()方法使用
$.each(function(index, value, arr){
...
});
映射map()
映射方法map()的参数与循环方法forEach()是一样的
一个回调函数和一个可选的上下文参数
包括回调函数的参数顺序也一样(肯定一样)
所谓映射不难理解,在我们的数学中都学过
类似于C++的STL标准库中的map
var arr = [1, 2, 3, 4, 5];
var mapArr = arr.map(function(value){
return value*value;
});
console.log(mapArr); //[1, 4, 9, 16, 25]