EDIT: Голоса для закрытия ошибочны. Принятый ответ в Repeat Character N Times вообще не применим. Например:
>>> Array(3).map(Math.random)
[undefined, undefined, undefined]
В двух других ответах предлагается изменить встроенный класс, что я считаю совершенно неприемлемым.
Здесь один довольно расточительный и непрактичный способ создания массива из 3 случайных чисел в JS:
>>> [1, 1, 1].map(Math.random)
[0.6324464592887568, 0.5969209806782131, 0.7362755801487572]
Использование фиктивного массива (например, [1, 1, 1]
) только для того, чтобы можно было называть его map
, при достаточно большом n и расточительном (памяти), и непрактичном.
То, что хотелось бы, было бы чем-то вроде гипотетического:
>>> repeat(3, Math.random)
[0.21425955396598173, 0.00226050232425945, 0.45261888146445495]
Какой самый близкий человек может прийти к этому в "чистом JS"?
(Я знаю Underscore, но в его API есть вещи, которые не имеют для меня никакого смысла, такие как интерпретация map
, поэтому я стараюсь избегать этого.)