JavaScript 中的函数式编程实践
2010-06-23 00:00:00 来源:WEB开发网核心提示: 效果如下:图 1. 过滤之前的效果我们通过 jQuery 对包装集进行一次过滤,jQuery 的过滤函数可以使得选择出来的列表对象只保留符合条件的,JavaScript 中的函数式编程实践(10),在这个例子中,我们保留这样的 div,当且仅当这个 div 中包含一个类名为 title 的 sp
效果如下:
图 1. 过滤之前的效果
我们通过 jQuery 对包装集进行一次过滤,jQuery 的过滤函数可以使得选择出来的列表对象只保留符合条件的,在这个例子中,我们保留这样的 div,当且仅当这个 div 中包含一个类名为 title 的 span,并且这个 span 的内容为数字:
清单 19. 过滤集合
var cons = $("div.note").hide();// 选择 note 类的 div, 并隐藏
cons.filter( function (){
return $( this ).find("span.title").html().match(/^\d+$/);
}).show();
效果如下图所示:
图 2. 过滤之后的效果
我们再来看看 jQuery 中对数组的操作 ( 本质上来讲,JavaScript 中的数组跟 List 是很类似的 ),比如我们在前面的例子中提到的 map 函数,过滤器等:
清单 20. jQuery 对数组的函数式操作
var mapped = $.map([1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
function (n){
return n + 1;
});
var greped = $.grep([1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
function (n){
return n % 2 == 0;
});
mapped 将被赋值为 :
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
Tags:JavaScript 函数 编程
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接