JavaScript的map/reduce/filter/sort 高阶函数
2017-09-02 09:33
369 查看
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript"> // 高阶函数讲解 //map 方法 var arr = [1,2,3,4,5]; var arr2 = arr.map(function(x){return x*10;}); console.log(arr2); //[10,20,30,40,50] console.log(typeof arr2); //Object //第二种写法 function foo(x){ return x*10; } var arr3 = arr.map(foo); console.log(arr3); // reduce 方法 var num = arr.reduce(function(x,y){return x+y;}); console.log(num); // 15 console.log(typeof num); // Number // 同样第二种写法 // sort方法 var arr4 = [1,2,10,20]; arr4.sort(); console.log(arr4); // [1,10,2,20] //这是因为sort方法默认先把所有元素转化为String再排序,所以10 在 2 的前面 function cmp(x,y){ if(x<y) return -1; if(x>y) return 1; if(x==y) return 0; }; arr4.sort(cmp); console.log(arr4); // 比较字符串,忽略大小写 function cmp2(s1,s2){ x = s1.toUpperCase(); //x.toLowerCase(); y = s2.toUpperCase(); if(x<y) return -1; if(x>y) return 1; if(x==y) return 0; } var arr4 = ['Google', 'apple', 'Microsoft']; arr4.sort(cmp2); console.log(arr4); var arr5 = ['a','b','g','c']; arr5.sort(); console.log(arr5); //友情提示: sort方法会直接对arr进行修改 //map reduce filter不会 // filter方法 去除偶数 arr6 =[1,2,3,4,5,6,7,8,9,10]; var arr7 = arr6.filter(function(x){return x%2 != 0}); console.log(arr7); // 如何去除空字符串 arr8 = ['A','','','D',null,undefined]; function foo9(x){ return x && x.trim(); } var arr9 = arr8.filter(foo9); console.log(arr9); // A D </script> </body> </html>
相关文章推荐
- <JavaScript学习>高阶函数:map/reduce,filter,sort
- JavaScript高阶函数 map reduce filter sort
- javascript学习(十)— 高阶函数:map/reduce,filter,sort
- JavaScript--map、reduce、filter、sort
- javascript利用map,every,filter,some,reduce,sort对数组进行最优化处理
- python 高阶函数:sort,filter,reduce,map
- javaScript 高阶函数 map/reduce/filter
- Python高阶函数(Map、Reduce、Filter)
- JavaScript实现Map、Reduce和Filter
- JavaScript中的map和filter、reduce方法
- 实现javascript中的filter,map,reduce
- Python学习 Day 5 高阶函数 map/reduce filter sorter 返回函数 匿名函数 装饰器 偏函数
- Python 函数式编程--高阶函数Map、Reduce、Filter、Sorted
- Python教程学习简记8--Python 高阶函数 map/reduce filter sorted
- python——高阶函数——map reduce filter sorted
- 无循环 JavaScript(map、reduce、filter和find)
- Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊
- python 高阶函数 map reduce filter sorted 闭包 装饰器
- swift中高阶函数map、flatMap、filter、reduce