Я нашел эту старую ветку, потому что сам задавался вопросом о том же самом, но я думаю, что ни один из ответов здесь не был проще, чем ваш оригинальный пример, как прокомментировал Кокодоко, хаха!
Я сам использовал этот метод:
var foo = [];
while (foo.length < N)
foo.push( foo.length + 1 );
Что, по крайней мере, немного быстрее печатать, чем обычный цикл for, и, мы надеемся, не подвержено ошибкам (хотя это может быть дороже в вычислительном отношении).
Может даже сделать что-то вроде:
var foo= [];
while (foo.length < N)
foo.push( foo.length%4 + 1 );
для заполнения массива 1-4 раза в последовательном порядке. Или используйте этот метод, чтобы заполнить массив одним элементом, хотя я думаю, что в этом случае может быть быстрее использовать Array(N).fill(x)
.