Элементы выпадающего списка слева в зависимости от функции

const dropWhile = (arr, func) => {
  while (arr.length > 0 && !func(arr[0])) arr = arr.slice(1);
  return arr;
};
const drop = (arr, n = 1) => arr.slice(n);
dropWhile([1, 2, 3, 4], n => n >= 3); // [3, 4]
drop([1, 2, 3]); // [2, 3]
drop([1, 2, 3], 2); // [3]
drop([1, 2, 3], 42); // []
Функции JavaScript