Files
30-seconds-of-code/snippets/remove.md
Angelos Chalaris 8ab6a00668 Fix phrasing for remove
Resolves #1071
2020-03-16 19:11:40 +02:00

630 B

title, tags
title tags
remove array,intermediate

Mutates an array by removing elements for which the given function returns false.

Use Array.prototype.filter() to find array elements that return truthy values and Array.prototype.reduce() to remove elements using Array.prototype.splice(). The func is invoked with three arguments (value, index, array).

const remove = (arr, func) =>
  Array.isArray(arr)
    ? arr.filter(func).reduce((acc, val) => {
        arr.splice(arr.indexOf(val), 1);
        return acc.concat(val);
      }, [])
    : [];
remove([1, 2, 3, 4], n => n % 2 === 0); // [2, 4]