013 vue的js中的高阶函数
[A] filter() 数组过滤
参数:函数,函数体为筛选条件,该函数返回值为布尔值
返回值:一个新的数组(数组中的每一个元素都满足条件)
示例:
var arr = [2, 4, 5, 7, 9, 0, 3, 4];
var newArr = arr.filter(function(item){
// item 为每次遍历的数组的元素
return item > 2;
})
// 返回一个新数组,该数组由原数组中满足条件的元素组成
[B] map() 映射
参数:函数,函数体为映射条件,该函数返回值为映射结果
返回值:一个新的数组(妹子元素做了映射)
示例:
var arr = [2, 4, 5, 7, 9, 0, 3, 4];
var newArr = arr.map(function(item){
// item 为每次遍历的数组的元素
return item ^2 + 20;
})
[C] reduce 归并
作用:对数组中的内容做一个汇总
参数:
prev 表示上一次调用回调时的返回值,或者初始值 init
cur 表示当前正在处理的数组元素
index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1
arr 表示原数组
init 表示初始值
【注意】参数至少要传入两个
示例:
var arr = [2, 4, 5, 7, 9, 0, 3, 4];
var as = arr.reduce(function(pre, cur, index, arr){
return pre + cur;
}, 0)