w3resource

JavaScript: Remove elements in an array until the passed function returns true

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

Write a JavaScript program to remove elements in an array until the passed function returns true. Returns the remaining elements in the array.

  • Loop through the array, using Array.prototype.slice() to drop the first element of the array until the value returned from func is true.
  • Return the remaining elements.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
const dropWhile = (arr, func) => {
  while (arr.length > 0 && !func(arr[0])) arr = arr.slice(1);
  return arr;
};

console.log(dropWhile([1, 2, 3, 4], n => n >= 3));

Sample Output:

[3,4]

Flowchart:

flowchart: Remove elements in an array until the passed function returns true.

Live Demo:

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


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program that will return true if the parent element contains the child element, false otherwise.
Next: Write a JavaScript program to remove elements from the end of an array until the passed function returns true. Returns the remaining elements in the array.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



JavaScript: Tips of the Day

How to check whether a string contains a substring in JavaScript?

ECMAScript 6 introduced String.prototype.includes:

const string = "foo";
const substring = "oo";

console.log(string.includes(substring));

includes doesn't have Internet Explorer support, though. In ECMAScript 5 or older environments, use String.prototype.indexOf, which returns -1 when a substring cannot be found:

var string = "foo";
var substring = "oo";

console.log(string.indexOf(substring) !== -1);

Ref: https://bit.ly/3fFFgZv