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学习的更多相关文章

  1. 不学就吃亏的underscorejs类库学习示例 ——(集合篇)

    underscorejs是一个很不错的类库,我的很多项目都引用了这个类库,的确可以带来很多方便. 记得我当初学的时候,看underscorejs的api是看的一知半解的,甚至不明白api里的conte ...

  2. STL之partition学习

    顺便存一下numeric函数的使用方法吧,感觉用处不大. https://blog.csdn.net/baishuo8/article/details/84073565 partition函数,将元素 ...

  3. Spark的Straggler深入学习(2):思考Block和Partition的划分问题——以论文为参考

    一.partition的划分问题 如何划分partition对block数据的收集有很大影响.如果需要根据block来加速task的执行,partition应该满足什么条件? 参考思路1:range ...

  4. MySQL分表(Partition)学习研究报告

    最近在开发一个新的项目,可能会产生大数据量,需要对部分表进行分表操作,故来研究学习MySQL的分表功能. 由于实验报告已经写成Exlce文件了,各位看过就直接下载吧:MySQL分表分析报告.xls 以 ...

  5. Kafka学习笔记(二):Partition分发策略

    kafka版本0.8.2.1 Java客户端版本0.9.0.0 为了更好的实现负载均衡和消息的顺序性,Kafka Producer可以通过分发策略发送给指定的Partition.Kafka保证在par ...

  6. MySQL 分区表 partition线上修改分区字段,后续进一步学习partition (1)

    公司线上在用partition,有一个表的分区字段错了,需要重建,结果发现没有办法像修改主键字段或者修改索引字段那样直接一条sql搞定.而是需要建临时表,有down time,所以去仔细看了文档,研究 ...

  7. kafka学习(四)-Topic & Partition

    topic中partition存储分布 Topic在逻辑上可以被认为是一个queue.每条消费都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为了使得 Kafka的吞吐 ...

  8. 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 ...

  9. 【kafka学习笔记】合理安排broker、partition、consumer数量

    broker的数量最好大于等于partition数量 一个partition最好对应一个硬盘,这样能最大限度发挥顺序写的优势. broker如果免得是多个partition,需要随机分发,顺序IO会退 ...

  10. kafka学习笔记:知识点整理

    一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...

随机推荐

  1. ACM1877_又一版A+B

    .这道题与2031极为相似. #include<iostream> using namespace std; void fun(int n,int r) { ]="0123456 ...

  2. 基础排序算法之并归排序(Merge Sort)

    并归排序是学习分治法 (Merge Sort) 的好例子.而且它相对于选择,插入,冒泡排序来说,算法性能有一定提升.我首先会描述要解决的问题,并给出一个并归排序的例子.之后是算法的思路以及给出伪代码. ...

  3. tomcat在linux中的启动和查看相关信息

      打开终端cd /java/tomcat#执行bin/startup.sh #启动tomcatbin/shutdown.sh #停止tomcattail -f logs/catalina.out # ...

  4. Android开发学习之Adapter

    Adapter是指适配器的意思,在Android中,适配器扮演者重要的角色,是UI与Data实现绑定的一个桥梁.Adapter负责创建和显示每个项目的子View和提供对下层数据的访问.支持Adapte ...

  5. css三角形绘制

    三角形演变: 1.将一个块元素的宽.高都设置为0,再设置边框样式,得如下效果图(绿色部分): 样式: {;;border: 35px solid #7de87d;} 通过此样式得到的是一个正方形. 2 ...

  6. 窗口对象的方法 prompt() 用来输入数据

    prompt()    窗口对象的方法,用来输入信息的 一.window.prompt('提示信息',默认值); 1.例: window.prompt('请输入文字','这是默认值'); var us ...

  7. 接口作为参数,不同的接口调用不同的方法,例如:输出“I love Game”或输出“我喜欢游戏”

    接口的思想:在于可以增加很多类都需要实现的功能.比如:各式各样的商品,可能隶属不同公司,但工商部门都必须具有显示商标的功能(实现同一接口).商标的具体制作由各个公司自己去实现. 给其他类去实现,不同的 ...

  8. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请 系列目录 创建新表单之后,我们就可以起草申请了,申请按照严格的表单步骤和分 ...

  9. UML应用:业务内涵的分析抽象&amp;表达

    上一篇,架构设计的UML图形思考 ,简介了图形思考设计.表达设计对于架构师的重要意义,以及简介了使用统一建模语言UML描写叙述类以及类之间的继承关系,这样的描写叙述还停留在写代码,表达的但是说是怎样写 ...

  10. atoi、stoi、strtoi区别

    首先atoi和strtol都是c里面的函数,他们都可以将字符串转为int,它们的参数都是const char*,因此在用string时,必须调c_str()方法将其转为char*的字符串.或者atof ...