依赖库Underscore系列(1)--集合
来源:互联网 发布:js 添加li 编辑:程序博客网 时间:2024/05/16 05:01
Underscore库–集合系列
1、each()函数
(1)调用格式:
_.each(list,iterator,[context])
(2) 函数功能:
根据iterator迭代器提供的过滤条件,遍历list列表中的每一个元素,每遍历一次,产生一个迭代函数。此外,iterator迭代器还可以与可选项context上下文对象绑定。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>each()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> _.each([1, 2, 3, 4, 5, 6], function (n) { if (!(n % 2)) console.log(n); });</script></body></html>
(4)执行结果:
2、map()函数
(1)调用格式:
_.map(list, iterator, [context])
(2)函数功能:
根据iterator迭代器中的函数,遍历list列表中的每一个元素,在完成列表元素遍历之后,该函数将返回一个数组对象。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>map()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var arr = _.map([1, 2, 3, 4, 5, 6], function (n) { if (!(n % 2)) return n; }); for (var i = 0; i < arr.length; i++) { if (arr[i] != undefined) console.log(i + "->" + arr[i]); }</script></body></html>
(4)执行结果:
3、reduce()函数
(1)调用格式:
_.reduce(list,iterator,[memo],[context])
(2)函数功能:
根据iterator迭代器中的函数,遍历list列表中的每一个元素,在完成列表元素遍历之后,该函数将返回一个数值。如果没有memo,iterator不会被第一个元素调用。第一个元素将取代memo。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>reduce()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var sum = _.reduce([1, 2, 3, 4, 5, 6], function (memo, num) { return memo + num; }); console.log(sum);</script></body></html>
(4)执行结果:
4、reduceRight()函数
(1)调用格式:
_.reduceRight(list,iterator,memo,[context])
(2)函数功能:
reducRight是从右侧开始组合的元素的reduce函数。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>reduceRight()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var list = [[0, 1], [2, 3], [4, 5]]; var flat = _.reduceRight(list, function (a, b) { return a.concat(b); }, []); var result = ""; for (var i = 0; i < flat.length; i++) { if (i != flat.length - 1) { result += flat[i] + ","; } else { result += flat[i]; } } console.log(result);</script></body></html>
(4)执行结果:
5、find()
(1)调用格式:
_.find(list,iterator,[context])
(2)函数功能:
根据iterator迭代器中的自定义函数条件,在list列表中查找符合条件的第一个元素项,如果找到,返回第一个元素项,否则返回“undefined”。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>find()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var blnfind = _.find([2, 4, 6, 8, 10, 12], function (n) { return (!(n % 2 == 0)); }) console.log(blnfind != undefined ? blnfind : "未找到");</script></body></html>
(4)执行结果:
6、filter()函数
(1)调用格式:
_.filter(list,iterator,[context])
(2)函数功能:
根据iterator迭代器的自定义函数条件,在list列表中过滤符合条件的元素项。如果找到,则返回含有元素项的数组;如果没有找到,则返回一个空数组。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>filter()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var arrfind = _.filter([1, 2, 3, 4, 5, 6, 7, 8], function (n) { return (!(n % 2 == 0)); }); console.log(arrfind.length != 0 ? arrfind : "未找到");</script></body></html>
(4)执行结果:
7、max()函数
(1)调用格式:
_.max(list,[iterator],[context])
(2)函数功能:
返回list列表中最大值。如果有可选项iterator迭代器,先根据iterator迭代器中的自定函数过滤list列表中的每个元素,得到一个新的list列表,然后从这个新的list列表中返回最大值。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>max()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var max = _.max([1, 13, 4, 6, 8, 10]); console.log("max = " + max);</script></body></html>
(4)执行结果:
8、min()函数
(1)调用格式:
_.min(list,[iterator],[context])
(2)函数功能:
返回list列表中的最小值。如果有可选项iterator迭代器,先根据iterator迭代器中的自定函数过滤list列表中的每个元素,得到一个新的list列表,然后从这个新的list列表中返回最小值。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>min()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var stu = [ {name: '张三', score: 60}, {name: '李四', score: 40}, {name: '王五', score: 80} ]; var min = _.min(stu, function (n) { return n.score; }); console.log("最小分数值姓名为:" + min.name);</script></body></html>
(4)执行结果:
9、sortBy()函数
(1)调用格式:
_.sortBy(list,iterator,[context])
(2)函数功能:
返回一个按升序排列的副本列表。排列的规则科室是iterator迭代器中的自定义的安徽省农户,也可以是一个与元素属性相关的字符串。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>sortBy()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var stu = [ {name: '张三', score: 60}, {name: '李四', score: 40}, {name: '王五', score: 80} ]; var sort = _.sortBy(stu, function (n) { return n.score; }); for (var p in sort) { console.log(sort[p].name + "->" + sort[p].score); }</script></body></html>
(4)执行结果:
10、groupBy()函数
(1)调用格式:
_.groupBy(list,iterator,[context])
(2)函数功能:
将list列表按iterator迭代器中自定义的函数或一个与元素属性相关的字符串进行分组分割,分割后得到多个子列表。
(3)示例如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>groupBy()</title> <script src="js/underscore-min.js" type="text/javascript"></script></head><body><script type="text/javascript"> var stu = [ {name: '张三', score: 60}, {name: '李四', score: 40}, {name: '王五', score: 80} ]; var group = _.groupBy(stu, function (n) { return n.score > 40; }); console.log(group);</script></body></html>
(4)执行结果:
- 依赖库Underscore系列(1)--集合
- 依赖库Underscore系列(2)--数组
- 依赖库Underscore系列(3)-函数
- 依赖库Underscore系列(4)--对象
- Backbone入门指南(2):依赖库Underscore
- Backbone入门指南(二):依赖库Underscore
- Backbone入门指南(二):依赖库Underscore
- Backbone入门指南(二):依赖库Underscore
- backbone 唯一依赖库Underscore.js
- underscore学习笔记—集合函数/collections(一)
- underscore学习笔记—集合函数/collections(二)
- 根据underscore精简的函数(集合篇)
- underscore源码学习笔记(1)
- 深入解析Backbone.js框架的依赖库Underscore.js的作用
- BackBone学习摘要之二 依赖underscore
- underscore库的使用
- Underscore学习(1)
- Underscore
- DOS窗口下使用Mysql数据库基本语句
- JQuery工具函数汇总
- animation cancel
- quartz的学习配置
- 格式化日期二()
- 依赖库Underscore系列(1)--集合
- Android 命名规范
- Struts2实现文件下载和上传
- unity 开发中 C# 常用的方法总结(一)
- OpenMP并行程序设计——for循环并行化详解
- 进行网络操作——翻译自developer.android.com Building Apps with Connectivity& the Cloud
- Android Design Support Library--Translucent System Bar 的最佳实践
- 【MVC5】3.添加一个视图
- JSTL函数标签库fn标签的使用