Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   ES6 создать массив из случайный чисел, где первый элемент не равен 0 (https://javascript.ru/forum/dom-window/84142-es6-sozdat-massiv-iz-sluchajjnyjj-chisel-gde-pervyjj-ehlement-ne-raven-0-a.html)

Volonter 15.06.2022 09:15

ES6 создать массив из случайный чисел, где первый элемент не равен 0
 
Всем привет, как реализовать то что в заголовке? Просто получить массив случайных чисел понятно, я делаю вот так
let newArr = Array(10).fill().map(() => Math.round(Math.random() * 9))
console.log(newArr)

а как сделать чтобы первое не являлось нулем, но дальше в массиве нули могут быть?
Заранее спасибо!

ksa 15.06.2022 10:21

Цитата:

Сообщение от Volonter
как сделать чтобы первое не являлось нулем

Как вариант...
let newArr = Array(10).fill().map(_ => value())
while (newArr[0] === 0) newArr[0] = value()
alert(newArr)
//
function value() {
	return Math.round(Math.random() * 9)
}

рони 15.06.2022 10:35

Volonter,
let length = 10, max = 9;
let newArr = Array.from({length}, (_, i) => !i + Math.round(Math.random() * (max - !i)));
console.log(newArr)

Volonter 15.06.2022 10:41

ksa,
Спасибо, это работает, но может есть вариант без циклов и доп.функций, ну как то полаконичней что-ли))

Volonter 15.06.2022 10:42

рони,
Во, то что нужно! Супер, спасибо!


Часовой пояс GMT +3, время: 21:08.