Я переписал функцию fill lodash с целью обучения JS. Пожалуйста, переписайте его лучше, чем я.
//////////////// fill(array, value, [start=0], [end=array.length]) ////////////////
Заполняет элементы массива значением от начала до, но не включая конец.
let array = [1, 2, 3];
function fill (arr, filler, start = 0, end = arguments[0].length) {
filler = new Array(end - start).fill(filler);
let temp = arr;
temp.splice(start,end === arguments[0].length ? end : end - 1, ...filler);
return temp
}
console.log(fill(array, 'a'));
// => ['a', 'a', 'a']
console.log(fill(Array(3), 2));
// => [2, 2, 2]
console.log(fill([4, 6, 8, 10], '*', 1, 3));
// => [4, '*', '*', 10]
console.log(fill([4, 6, 8, 10,12,14,18,20], '*', 1, 3));
// => [4, "*", "*", 10, 12, 14, 18, 20]
Есть ли более элегантный способподойти к этому?