Как создать массив, содержащий 1 & hellip; N

В дополнение ко всем приведенным выше ответам рассмотрите конструкторы специальных копий, операторы присваивания и все другие функции, которые вы должны написать для класса, которые работают с другими экземплярами . Вам понадобятся функции доступа для всех этих элементов данных.

861
задан FurkanO 19 April 2019 в 01:44
поделиться

9 ответов

чтобы получить массив с n случайными числами между min, max (хотя и не уникальным)

function callItWhatYouWant(n, min, max) {
    return Array.apply(null, {length: n}).map(Function.call, function(){return Math.floor(Math.random()*(max-min+1)+min)})
}
1
ответ дан Nour Wolf 19 April 2019 в 01:44
поделиться

ES6 решение с использованием рекурсии. Отличается от всех других решений

const range = (n, A = []) => (n === 1) ? [n, ...A] : range(n - 1, [n, ...A]);


console.log(range(5));
1
ответ дан Sumer 19 April 2019 в 01:44
поделиться

Array.prototype.fill ()

a = Object.keys( [].fill.call({length:7}, '' ) ).map(Number)
a.pop();
console.debug(a)

[0, 1, 2, 3, 4, 5, 6]

0
ответ дан bjhamltn 19 April 2019 в 01:44
поделиться

'_'.repeat(5).split('').map((_, i) => i + 1) даст [1, 2, 3, 4, 5]

0
ответ дан webjay 19 April 2019 в 01:44
поделиться

Azle имеет вспомогательную функцию под названием create_array , которая дает вам ряд опций:

Создать массив от 0 до 5 :

az.create_array(0, 5)

[0, 1, 2, 3, 4, 5

Создать массив от 1 до 5 :

az.create_array(1, 5)

[1, 2, 3, 4, 5]

Создайте массив из 5 массивов :

az.create_array(1, 5, ['apples','carrots','oranges'])

[[яблоки »,« морковь », "апельсины"], ["яблоки", "морковь", "апельсины"], ["яблоки", "морковь", "апельсины"], ["яблоки", "морковь", "апельсины"], ["яблоки" "," морковь "," апельсины "]]

Создать массив из 5 объектов :

az.create_array(1, 5, {"color" : "orangered"})

[{color:" orangered "}, {color : "orangered"}, {color: "orangered"}, {color: "orangered"}, {color: "orangered"}]

Создать массив из 6 случайных чисел :

az.create_array(0,5,'random') // default draws from 10

[9, 5, 4, 6, 9, 7]

Создать массив из 6 случайных чисел, взятых из 1000 :

az.create_array(0,5,'random', 1000)

[180, 372, 678, 142, 314, 438]

Вот FIDDLE

-2
ответ дан Cybernetic 19 April 2019 в 01:44
поделиться

Object.keys(Array.apply(0, Array(3))).map(Number)

Возвращает [0, 1, 2]. Очень похоже на отличный ответ Игоря Шубина , но с немного меньшим количеством хитрости (и на один символ длиннее).

Объяснение:

  • Array(3) // [undefined × 3] Создать массив длиной n = 3. К сожалению, этот массив почти бесполезен для нас, поэтому мы должны…
  • Array.apply(0,Array(3)) // [undefined, undefined, undefined] сделать массив повторяемым. Примечание: null более распространен, так как первый аргумент apply, но короче 0.
  • Object.keys(Array.apply(0,Array(3))) // ['0', '1', '2'] затем получают ключи массива (работает, потому что массивы являются типом, массив - это объект с индексами для ключей.
  • Object.keys(Array.apply(0,Array(3))).map(Number) // [0, 1, 2] и отображение ключей, преобразование строк в числа.
7
ответ дан Community 19 April 2019 в 01:44
поделиться

Самый быстрый способ заполнить Array в v8:

[...Array(5)].map((_,i) => i);

результат будет: [0, 1, 2, 3, 4]

52
ответ дан Moha the almighty camel 19 April 2019 в 01:44
поделиться

Array(...Array(9)).map((_, i) => i);

console.log(Array(...Array(9)).map((_, i) => i))
6
ответ дан 19 December 2019 в 20:21
поделиться
Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));

Источник: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from

3
ответ дан 19 December 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: