|
|
- '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);
- };
|