blob: b8ed62da08eae748f315d980472be1d42a4a3c35 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
"use strict";
/**
* Copyright (c) 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @typechecks
*
*/
/**
* Partitions an array given a predicate. All elements satisfying the predicate
* are part of the first returned array, and all elements that don't are in the
* second.
*/
function partitionArray(array, predicate, context) {
var first = [];
var second = [];
array.forEach(function (element, index) {
if (predicate.call(context, element, index, array)) {
first.push(element);
} else {
second.push(element);
}
});
return [first, second];
}
module.exports = partitionArray;
|