参考文档
forEach、filter、map
1. forEach
1.1 参数
1.1.1 callback
用来测试数组的每个元素的函数。调用时使用参数 (element, index, array)。
返回true表示保留该元素(通过测试),false则不保留。
1.1.2 thisArg
可选。执行 callback 时的用于 this 的值。
1.2 返回值
一个新数组,每个元素都是回调函数的结果。
1.3 范例
var arr = [1 , 2 , 3 , 4];
var thisArg = {name: 'grayVTouch'};
arr.forEach(function(val , index , arr){
arr[index] = val.toUpperCase();
console.log(this); // {name: 'grayVTouch'}
} , thisArg);
console.log(arr);
2. filter
2.1 参数
2.1.1 callback
用来测试数组的每个元素的函数。调用时使用参数 (element, index, array)。
返回true表示保留该元素(通过测试),false则不保留。
2.1.2 thisArg
可选。执行 callback 时的用于 this 的值。
2.2 返回值
一个新的通过测试的元素的集合的数组
2.3 范例
var arr = [1 , 2 , 3 , 4];
var thisArg = {name: 'grayVTouch'};
var res = arr.filter(function(val , index , arr){
console.log(this); // {name: 'grayVTouch'}
if (val > 3) {
return true;
}
return false;
} , thisArg);
console.log(arr);
console.log(res);
3. map
3.1 参数
3.1.1 callback
用来测试数组的每个元素的函数。调用时使用参数 (element, index, array)。
返回true表示保留该元素(通过测试),false则不保留。
3.1.2 thisArg
可选。执行 callback 时的用于 this 的值。
3.2 返回值
一个新数组,每个元素都是回调函数的结果。
3.3 范例
var arr = [1 , 2 , 3 , 4];
var thisArg = {name: 'grayVTouch'};
var res = arr.map(function(val , index , arr){
console.log(this); // {name: 'grayVTouch'}
return val + '数据测试';
} , thisArg);
console.log(arr);
console.log(res);