UnderScore的使用实例记录

_.range(),主要用于区间的获取操作。参数说明:(param1):范围上限,(param1,param2):起始及结束范围,(param1,param2,param3):起始结束范围,正数则为区间跨度,-1则为:负数区间跨度。

_.range(10);
=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
_.range(1, 11);
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
_.range(0, 30, 5);
=> [0, 5, 10, 15, 20, 25]
_.range(0, -10, -1);
=> [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
_.range(0);
=> []

_.each(list,function(c,i){}),主要用于遍历每个元素进行相应处理操作。参数说明:list为具体遍历的数组,function(c,i)为具体的遍历情况处理,c为具体遍历实体参数,i为具体的index

_.each([1, 2, 3], alert);
=> alerts each number in turn...
_.each({one: 1, two: 2, three: 3}, alert);
=> alerts each number value in turn...

_.filer(list,function(c){}),主要用于根据条件进行过滤相关数据操作。参数说明:list为具体遍历的数组,function(c)为具体执行的过滤操作。需要返回具体的数据。

var evens = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
=> [2, 4, 6]

_.map(list,function(c){}),主要用于根据元素进行相应的操作。参数说明:list为具体遍历的数组,function(c)为具体执行的对应的操作。需要返回具体的数据。

_.map([1, 2, 3], function(num){ return num * 3; });
=> [3, 6, 9]
_.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; });
=> [3, 6, 9]

_.reduce(list,function(c,m){var d   m.push(d)  return m},[]),主要用于对列表元素进行格式转换等处理操作,并生成全新结果并返回。参数说明:list为具体遍历的数组,function(c)为具体执行的组装数据的操作,并最终需要进行返回新的数据结果。

var sum = _.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);
=> 6

_.find(list,function(c){}),主要用于根据条件查找相应的数据中匹配的对象。参数说明:list为具体遍历的数组,function(c)为具体查找的条件规则。

var even = _.find([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
=> 2

_.some(list,function(c){}),主要用于查找是否存在某个数据在数组中是否存在。参数说明:list为具体遍历的数组,function(c)为存在条件,返回true或false。

_.some([null, 0, ‘yes‘, false]);
=> true

_.groupBy(list,param),主要用于根据分组字段对数据集合进行分组。参数说明:list为具体遍历的数组,param为分组字段或分组方法,使用单引号包含即可,返回具体分组后的数据。

_.groupBy([1.3, 2.1, 2.4], function(num){ return Math.floor(num); });
=> {1: [1.3], 2: [2.1, 2.4]}

_.groupBy([‘one‘, ‘two‘, ‘three‘], ‘length‘);
=> {3: ["one", "two"], 5: ["three"]}

_.sortBy(list,function(c){}),主要用于对数组进行排序。参数说明:list为具体遍历的数组,function(c)为具体排序的参数,默认为从小到大。

_.sortBy([1, 2, 3, 4, 5, 6], function(num){ return Math.sin(num); });
=> [5, 4, 6, 3, 1, 2]

_.indexBy(list,param),主要用于对数据进行索引。参数说明:list为具体遍历的数组,param为具体的索引字段或方法。

var stooges = [{name: ‘moe‘, age: 40}, {name: ‘larry‘, age: 50}, {name: ‘curly‘, age: 60}];
_.indexBy(stooges, ‘age‘);
=> {
  "40": {name: ‘moe‘, age: 40},
  "50": {name: ‘larry‘, age: 50},
  "60": {name: ‘curly‘, age: 60}
}

_.values(list),主要用于将对象转换为数组。参数说明:list为具体的对象。

_.values({one: 1, two: 2, three: 3});
=> [1, 2, 3]

UnderScore的使用实例记录

时间: 2024-10-10 02:25:42

UnderScore的使用实例记录的相关文章

log4net实现多实例记录

原文地址:实现多个LOG4NET日志记录器实例 本文内容为摘抄,请查看原文. 对于.NET Framework开发者来说,使用Log4Net进行日志记录是非常方便的,通常只要写好配置文件和简单的编码就可以轻松实现应用程序的日志记录功能.但是因为很多时候我们做开发没有时间详细阅读文档,所以也会因疏忽犯很多错误,下面写的就是因为没有仔细阅读配置文件文档引发的一个错误. 应用环境:一个Web应用程序,采用三层体系结构,所以记录日志的时候分为应用程序日志.数据访问日志和操作记录日志三个日志.三个日志采用

underscore源码阅读记录

这几天有大神推荐读underscore源码,趁着项目测试的空白时间,看了一下. 整个underscore包括了常用的工具函数,下面以1.3.3源码为例分析一下. _.size = function(obj) { return _.isArray(obj) ? obj.length : _.keys(obj).length; }; 整个underscore源码基本上都是以上这种方式写的,所以弄懂上面这段源码,整个underscore的源码就大概清楚了六七成了,剩下的源码用些时间,也就迎刃而解. 因

postman tests实例记录(还没看,一些常用的)

这段时间准备测试api接口,postman这个工具很是方便,特别是里面的tests的javascript脚本. 记录一下测试接口常用的tests验证的实例. 1.设置环境变量 postman.setEnvironmentVariable("key", "value"); 2.将嵌套独享设置为环境变量var array = [1, 2, 3, 4];postman.setEnvironmentVariable("array", JSON.strin

【填坑纪事】一次用System.nanoTime()填坑System.currentTimeMills()的实例记录

JDK提供了两个方法,System.currentTimeMillis()和System.nanoTime(),这两个方法都可以用来获取表征当前时间的数值.但是如果不仔细辨别这两个方法的差别和联系,在使用当中也很容易出错.笔者在前不久的工作当中使用System.currentTimeMillis()时就踩了一个大坑,后来在查明System.currentTimeMillis()和System.nanoTime()的特性后,才用System.nanoTime()来填了这个坑.本文,笔者就以自己的踩

quartz 实例记录

之前介绍过了quartz的一些相关理论知识,感觉上挺简单的,实际动手操作也确实如此,去quartz的官网上把Jar包下载下来以后,会看到它的目录里有例子程序,看完第一个例子觉得还可以,但是看后面两个例子程序有点让人小小的无语,可能quartz觉得程序写的越多,给出的使用方法也会越多,但是看上去很乱,而且大部分代码是重复的,所以我把他们简单化成一个例子,把它们记录下来. 本文一共有两个例子,这两个例子共用一个Job的实现,叫MyJob类,代码如下 package com.jll.quartz; i

underscore源码阅读记录(二)

引自underscore.js context参数用法 _.each(list, iteratee, [context]); context为上下文,如果传递了context参数,则把iterator绑定到context对象上 如果要修改iterator的调用对象为context,即函数中this为context,就传递这个参数,否则context为undefined 下面两个示例,运行看看打印出来的this就明白了 var arr = [1, 2, 3]; console.log(this);

第三方接口调用异常补偿机制实现实例记录

背景: 我们的组件(简称A),在业务链中属于数据支撑节点.其中与组件B存在接口同步数据的直接关系(API接口直接调用进行数据交互) 问题: 我们的上游有另一个组件C(带有界面),调用A(us)进行数据的变更操作,此时需要A调用B服务接口进行同步,问题出在这里,C调用 A通常速度比较快,比较稳定,但是A调用B经常超时或者失败,网络原因or 组件B自己的设计原因吧,反正是推不动 方案:经沟通考察,这条数据的变更在可接受的时间范围只要最终一致即可,于是首先,我们先将事物中的调用B服务的一系列逻辑抽出来

SQL——实例记录(对查询结果排行号)

select 订单编号, DENSE_RANK() over(order by 订单编号) from test 排序结果: 55678-0-1     1 55678-0-1     1 33454-0-1     2 33454-0-1     2 33454-0-1     2 这种是按照订单不同的顺序依次往后排 当然也可以在 over后面加上你想要的起始号 例:DENSE_RANK() over(order by 订单编号)+30 那么行号结果是31和32 正常排序: select 订单编

Linq 多连接及 left join 实例 记录

var retList = from d in mbExList.Cast<MaterialBaseEx>().ToList() join c in umcList.Cast<ClassifyBaseEx>().ToList() on d.ClsCode equals c.ClsCode join b in collectItem.Cast<CollectItem>().ToList() on d.Guid equals b.MatID into temp join e