一:map
案例1:arr = [1,2,3,4,5];需要将数组元素翻倍
arr.map(function(x){
return x * x;
})
二:reduce
个人理解该函数类似于递归f(f(f(x)));
案例:arr = [1,3,4,5,6];需求数组元素之和
arr.reduce(function(x,y){
return x + y;
});
三:filter
顾名思义过滤
案例: var arr = [1,2,3,4,5,6],需筛选出数组中的奇数
arr.filter(function(x) {
return x % 2 !== 0;
})
四:sort
sort当然是排序的功能啦,接收函数需两个参数x,y,该函数转换时先转成Spring后根据ascll码进行比较,顾在对英文名进行排序时,可以用.toUpperCase()或者.toLowerCase()先转换一下.
案例:arr = [1,3,1,4,5,2,0],需对其进行排序
升序:
arr.sort(function(x,y) {
if(x === y) return 0;
if(x > y) return 1;
if(x < y) return -1;
})
附传统排序方法:
eg1 : 升序
var arr = [1,3,1,4,5,2,0];
for(var i = 0,len = arr.length;i<=len;i++) {
for(var j = 0; j<arr.length - i -1;j++) {
if(arr[j] > arr[j+1]) {
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
console.log(arr);
eg2:降序
var arr = [1,3,1,4,5,2,0];
var len = arr.length;
for(var i = 0;i<=len;i++) {
for(var j = 0; j<len -i -1; j++) {
if(arr[j] < arr[j+1]) {
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
学习出处:我廖哥的个人网站 www.liaoxuefeng.com