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

const dropRightWhile = (arr, func) => {
  let rightIndex = arr.length;
  while (rightIndex-- && !func(arr[rightIndex]));
  return arr.slice(0, rightIndex + 1);
};
const dropRight = (arr, n = 1) => arr.slice(0, -n);
dropRightWhile([1, 2, 3, 4], n => n < 3); // [1, 2]
dropRight([1, 2, 3]); // [1, 2]
dropRight([1, 2, 3], 2); // [1]
dropRight([1, 2, 3], 42); // []
Функции JavaScript