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. 游戏开发设计模式之子类沙盒模式(unity3d 示例实现)

    积累提供所有操作(的实现)来定义子类的行为用一个最简单的例子来讲解这个模式玩家操纵的英雄也就是这个游戏的主角会有许多技能,我们想定义许多不同的技能,来让玩家使用.首 先我们定义一个skillBase类 ...

  2. BZOJ1057 [ZJOI2007]棋盘制作(极大化思想)

    1057: [ZJOI2007]棋盘制作 Time Limit: 20 Sec  Memory Limit: 162 MB Submit: 1848  Solved: 936 [Submit][Sta ...

  3. Node.js学习(10)----文件系统fs

    fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 POSIX 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了异步的和同步的两个版本, 例如读取文件内 ...

  4. 408. Valid Word Abbreviation

    感冒之后 睡了2天觉 现在痊愈了 重启刷题进程.. Google的题,E难度.. 比较的方法很多,应该是为后面的题铺垫的. 题不难,做对不容易,edge cases很多,修修改改好多次,写完发现是一坨 ...

  5. postgresql数据库的数据导出

    一.pg_dump的用法:数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,例如Oracle的exp/imp,Informix的dbexp/dbimp,MySQL的mysqldump ...

  6. C++ —— 时间与日期

    导读 在平时编程中有时需要获取当前的时间或者日期,然而不同的平台不同的场景下,有时使用的API也不尽相同.一般来说,C/C++中关于时间的标准库函数在不同的平台的都可以使用,可一些与平台相关的函数就只 ...

  7. 使用ViewPager实现三个fragment切换

    新建一个android项目 先展示效果吧 首先看myfragmentPagerAdater这个类的代码 package com.example.viewpager; import java.util. ...

  8. winform 菜单项显示历史记录 分类: WinForm 2014-07-11 18:15 196人阅读 评论(0) 收藏

    (1)创建一个项目,将其命名为MenuHistory,默认窗体为Form1. (2)从工具箱中向Form1窗体添加MenuStrip控件,同时向窗体添加OpenFileDialog控件.创建一个&qu ...

  9. aaalogo写入中文出错的解决方法

    一.软件名称: 二.软件用途: 制作小logo 三.问题: aaalog软件不能支持中文输入. 简单的说该软件不能使用中文纯粹是因为字体不支持的原因, 只要导入相应字体就可以 不知道其他人使用aaal ...

  10. leetcode-1 Two Sum 找到数组中两数字和为指定和

     问题描写叙述:在一个数组(无序)中高速找出两个数字,使得两个数字之和等于一个给定的值.如果数组中肯定存在至少一组满足要求. <剑指Offer>P214(有序数组) <编程之美& ...