ui
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = function partition(fn) {
|
||||
var _this = this;
|
||||
|
||||
var arrays = void 0;
|
||||
|
||||
if (Array.isArray(this.items)) {
|
||||
arrays = [new this.constructor([]), new this.constructor([])];
|
||||
|
||||
this.items.forEach(function (item) {
|
||||
if (fn(item) === true) {
|
||||
arrays[0].push(item);
|
||||
} else {
|
||||
arrays[1].push(item);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
arrays = [new this.constructor({}), new this.constructor({})];
|
||||
|
||||
Object.keys(this.items).forEach(function (prop) {
|
||||
var value = _this.items[prop];
|
||||
|
||||
if (fn(value) === true) {
|
||||
arrays[0].put(prop, value);
|
||||
} else {
|
||||
arrays[1].put(prop, value);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return new this.constructor(arrays);
|
||||
};
|
||||
Reference in New Issue
Block a user