diff --git a/public/consolidated/javascript.json b/public/consolidated/javascript.json index ad662e91..1caca666 100644 --- a/public/consolidated/javascript.json +++ b/public/consolidated/javascript.json @@ -1005,4 +1005,4 @@ } ] } -] \ No newline at end of file +] diff --git a/snippets/javascript/array-manipulation/partition-an-array-into-two.md b/snippets/javascript/array-manipulation/partition-an-array-into-two.md new file mode 100644 index 00000000..cc26fd06 --- /dev/null +++ b/snippets/javascript/array-manipulation/partition-an-array-into-two.md @@ -0,0 +1,19 @@ +--- +title: Partition Array +description: Splits an array into two arrays based on a callback function. +author: Swaraj-Singh-30 +tags: javascript,array,partition,reduce,utility +--- + +```js +const partition = (arr, callback) => + arr.reduce( + ([pass, fail], elem) => (callback(elem) ? [[...pass, elem], fail] : [pass, [...fail, elem]]), + [[], []] + ); + +// Usage: +const numbers = [1, 2, 3, 4, 5, 6]; +const isEven = (n) => n % 2 === 0; +console.log(partition(numbers, isEven)); // Output: [[2, 4, 6], [1, 3, 5]] +``` \ No newline at end of file