partition
partition([iterator = Prototype.K[, context]]) -> [TrueArray, FalseArray]
把元素分为两组:一组为 true
,一组为 false
。默认情形下使用 Javascript 标准规范判断元素等价的
bool 值,如果指定了 iterator
参数,根据 iterator
定义的函数判断元素等价的 bool 值。
相对于同时使用 findAll/select
和 reject
这两个方法来获取 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]]