//reduce 求和var arr =[1,3,5,7,9];
arr.reduce(function(x, y){return x + y;});// 25
当map与parseInt配合使用时候,有一些东西需要注意,请点击
filter
用于把Array的某些元素过滤掉,返回剩下的元素
如果返回为真,则保留
与map()类似,filter一次作用于数组的每一个元素
// 过滤掉偶数
arr.filter(function(x){return x %2;});// 过滤掉空字符串var a =['A','','B',null,'undefined','C',' '];var r = a.filter(function(s){return s && s.trim();});
r;// ['A', 'B', 'C'];
filter()接收的回调函数,可以有多个参数,另外两个为数组元素的位置和数组本身
filter(function(element, index, self){})
可以巧妙利用Js的filter回调函数去重
var r,
arr =[1,2,2,1,5,8,5,6,7,6,4,9,6];
r = arr.filter(function(element, index, self){return self.indexOf(element)=== index;});
sort
Array的sort()方法默认把所有元素先转换为String再进行排序,根据ascii大小
幸运的是sort()方法也是一个高阶函数,它可以接收一个比较函数来实现自定义的排序
var arr =[1,2,10,20];
arr.sort(function(x, y){return y - x;}// 反向排序,大于0会交换