Enumerable.partition - Prototype JavaScript 框架

Xunxin Prototype API

partition

partition([iterator = Prototype.K[, context]]) -> [TrueArray, FalseArray]

把元素分为两组:一组为 true,一组为 false。默认情形下使用 Javascript 标准规范判断元素等价的 bool 值,如果指定了 iterator 参数,根据 iterator 定义的函数判断元素等价的 bool 值。

相对于同时使用 findAll/selectreject 这两个方法来获取 Enumerable 的分组,partition 是一个更好的解决办法:它只需要对元素进行一次遍历。

可选的 context 参数是 iterator 要绑定的对象,若设定该参数,iterator 中的 this 关键字将指向 context 对象。

样例

['hello', null, 42, false, true, , 17].partition() 
// -> [['hello', 42, true, 17], [null, false, undefined]] 
$R(1, 10).partition(function(n) { 
	return 0 == n % 2; 
}) 
// -> [[2, 4, 6, 8, 10], [1, 3, 5, 7, 9]]