Невозможно использовать fill
в одиночку, чтобы делать то, что вы просите. Вам придется комбинировать это с одним или несколькими другими методами.
Я не могу сказать, что рекомендую такой подход, потому что он действительно не похож на идиоматический JavaScript, но просто для демонстрации, вот решение, которое использует fill
для заполнения результирующего массива ( вместо того, чтобы просто использовать его, чтобы обойти неловкость конструктора Array). Это также более многословно и, вероятно, менее эффективно, чем альтернативы.
console.log(Array.from({ length: 500 }).reduce((x, y, i, a) => (a.fill(i, i, i + 1), a), []))
Что бы это ни стоило, я нахожу Array.from({ length: 500 }, (_, i) => i)
, поскольку @ Терри предложил быть намного более элегантным.