Элементы выпадающего списка справа в зависимости от функции
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); // []