underscorejs-partition学习
2.25 partition
2.25.1 语法:
_.partition(list, predicate, [context])
2.25.2 说明:
拆分list为两个数组。
第一个数组的元素都满足predicate, 而第二个数组的所有元素为不能满足predicate。
2.25.3 代码示例:
示例一:拆数组
var arr1 = _.partition([1, 2, 3, 4], function(element, index, list){
return element % 2 === 0;
});
console.log(arr1);//=> [[2, 4],[1, 3]];
示例二:拆对象
var arr2 = _.partition({a:1, b:2, c:3, d:4}, function(value, key, list){
return value % 2 === 0;
});
console.log(arr2);//=> [[2, 4],[1, 3]];
示例三:拆字符串
var arr2 = _.partition('1234', function(value, key, list){
console.log(list); //=> String 1234
return value % 2 === 0;
});
console.log(arr2);//=> [["2", "4"],["1", "3"]];
示例四:拆arguments
(function(){
var result = _.partition(arguments, function(value, key, list){
return value % 2 === 0;
});
console.log(result);//=> [["2", "4"],["1", "3"]];
}(1, 2, 3, 4));
2.25.4 默认的predicate
var list = [1, false, true, '', null, 0, '0'];
var result = _.partition(list);
console.log(result); //=> [[1, true, "0"], [false, "", null, 0]];
//值是对象
var oList = [{x: 1},{x: 1},{x: 0}];
var arr1 = _.partition(oList);
var arr2 = _.partition(oList, 'x');
console.log(arr1); //=> [[{x: 1},{x: 1},{x: 0}],[]]
console.log(arr2); //=> [[{x: 1},{x: 1}],[{x: 0}]]
2.25.5 写出于默认一样的predicate(坑)
var list = [1, false, true, '', null, 0, '0'];
var result = _.partition(list);
var predicate = function(element, index, list){
//请在这里补充代码
};
console.log(result); //=> [[1, true, "0"], [false, "", null, 0]];
2.25.6 拆分奇偶的另一种写法(坑)
var arr1 = _.partition([1, 2, 3, 4], function(element, index, list){
return element & 1; // &是什么鬼,这么厉害!
});
console.log(arr1);//=> [[1, 3], [2, 4]];
underscorejs-partition学习的更多相关文章
- 不学就吃亏的underscorejs类库学习示例 ——(集合篇)
underscorejs是一个很不错的类库,我的很多项目都引用了这个类库,的确可以带来很多方便. 记得我当初学的时候,看underscorejs的api是看的一知半解的,甚至不明白api里的conte ...
- STL之partition学习
顺便存一下numeric函数的使用方法吧,感觉用处不大. https://blog.csdn.net/baishuo8/article/details/84073565 partition函数,将元素 ...
- Spark的Straggler深入学习(2):思考Block和Partition的划分问题——以论文为参考
一.partition的划分问题 如何划分partition对block数据的收集有很大影响.如果需要根据block来加速task的执行,partition应该满足什么条件? 参考思路1:range ...
- MySQL分表(Partition)学习研究报告
最近在开发一个新的项目,可能会产生大数据量,需要对部分表进行分表操作,故来研究学习MySQL的分表功能. 由于实验报告已经写成Exlce文件了,各位看过就直接下载吧:MySQL分表分析报告.xls 以 ...
- Kafka学习笔记(二):Partition分发策略
kafka版本0.8.2.1 Java客户端版本0.9.0.0 为了更好的实现负载均衡和消息的顺序性,Kafka Producer可以通过分发策略发送给指定的Partition.Kafka保证在par ...
- MySQL 分区表 partition线上修改分区字段,后续进一步学习partition (1)
公司线上在用partition,有一个表的分区字段错了,需要重建,结果发现没有办法像修改主键字段或者修改索引字段那样直接一条sql搞定.而是需要建临时表,有down time,所以去仔细看了文档,研究 ...
- kafka学习(四)-Topic & Partition
topic中partition存储分布 Topic在逻辑上可以被认为是一个queue.每条消费都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为了使得 Kafka的吞吐 ...
- sql server 学习笔记 ( row_number, rank, dense_rank over partition by order by )
refer : https://blog.csdn.net/winer2008/article/details/4283539 https://www.cnblogs.com/linJie193090 ...
- 【kafka学习笔记】合理安排broker、partition、consumer数量
broker的数量最好大于等于partition数量 一个partition最好对应一个硬盘,这样能最大限度发挥顺序写的优势. broker如果免得是多个partition,需要随机分发,顺序IO会退 ...
- kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
随机推荐
- (转载)ASP网站如何防止注入漏洞攻击
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如 果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉.但 ...
- Eclipse svn图标不显示
在菜单栏中:windows ->preferences->General->Appearance->Lable Decorations 勾选其中的 SVN 项,最后应用确认之后 ...
- C# 操作配置文件
1.配置文件app.config的书写: string mdbPath = ConfigurationManager.AppSettings["mdbPath"].ToString ...
- [kuangbin带你飞]专题十 匹配问题 二分图多重匹配
二分图的多重匹配问题不同于普通的最大匹配中的"每个点只能有最多一条边" 而是"每个点连接的边数不超过自己的限定数量" 最大匹配所解决的问题一般是"每个 ...
- java poi操作excel 添加 锁定单元格保护
Excel的book保护是很常用的,主要是不想让别人修改Excel的时候用.这样能够避免恶意随便修改数据,提高数据的可信度. 下面介绍JAVA POI来实现设置book保护: 使用HSSFSheet类 ...
- 手把手教学:详解HTML5移动开发框架PhoneJS
摘要:HTML/JavaScript的优势自不必说,但却也并非完美,相比之下,原生App占内存更少.响应更快.本文详解了HTML5移动开发框架PhoneJS的使用全过程,通过它,能够让Web应用在移动 ...
- Mac OS使用技巧之十六:系统失去响应怎么办?
再好的系统,再快的本本,也会在执行时由于种种原因出现卡顿或者死机等失去响应的情况.Mac用户也会时不时碰到这样的情况,最常见的表现为鼠标变为七彩圆圈.通常等上一会儿系统会自己恢复.假设迟迟没有响应的话 ...
- mysqldump 定时任务 执行后备份的文件为空
#!/bin/bash mysql_host="127.0.0.1" mysql_user="root" mysql_passwd="******** ...
- ajax jsonp跨域处理问题
客户端 html $.ajax({ type : "get", async:false, dataType : "jsonp", jsonp: "js ...
- Qt 学习之路:Canvas
在 QML 刚刚被引入到 Qt 4 的那段时间,人们往往在讨论 Qt Quick 是不是需要一个椭圆组件.由此,人们又联想到,是不是还需要其它的形状?这种没玩没了的联想导致了一个最直接的结果:除了圆角 ...