w3resource

JavaScript: Remove elements from an array for which the given function returns false

JavaScript fundamental (ES6 Syntax): Exercise-227 with Solution

Write a JavaScript program to remove elements from an array for which the given function returns false.

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

Sample Solution:

JavaScript Code:

// Define a function 'remove' to remove elements from an array based on a given condition
const remove = (arr, func) =>
  Array.isArray(arr) // Check if the input is an array
    ? arr.filter(func).reduce((acc, val) => { // Filter elements that satisfy the given condition
        arr.splice(arr.indexOf(val), 1); // Remove each filtered element from the original array
        return acc.concat(val); // Accumulate removed elements in an array
      }, [])
    : []; // Return an empty array if the input is not an array

// Log the result of removing even numbers from the array [1, 2, 3, 4]
console.log(remove([1, 2, 3, 4], n => n % 2 === 0)); // Output: [2, 4] (even numbers removed from the array)

Output:

[2,4]

Flowchart:

flowchart: Remove elements from an array for which the given function returns false.

Live Demo:

See the Pen javascript-basic-exercise-227-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to get n random elements at unique keys from array up to the size of array.
Next: Write a JavaScript program to log the name of a function.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.