Skip to content

Latest commit

 

History

History
15 lines (11 loc) · 318 Bytes

partition_an_array.md

File metadata and controls

15 lines (11 loc) · 318 Bytes

Partition an array

Array.prototype.partition = function (predicate) {
    const results = [[], []];

    this.forEach((item, index) => {
        results[predicate(item, index) ? 0 : 1].push(item);
    });

    return results;
}

const [evens, odds] = [1, 2, 3, 4, 5, 6, 7, 8].partition(n => n % 2 === 0);