Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.06.2022, 09:15
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 84

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

а как сделать чтобы первое не являлось нулем, но дальше в массиве нули могут быть?
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 15.06.2022, 10:21
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,127

Сообщение от 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)
}
Ответить с цитированием
  #3 (permalink)  
Старый 15.06.2022, 10:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Volonter,
let length = 10, max = 9;
let newArr = Array.from({length}, (_, i) => !i + Math.round(Math.random() * (max - !i)));
console.log(newArr)
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2022, 10:41
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 84

ksa,
Спасибо, это работает, но может есть вариант без циклов и доп.функций, ну как то полаконичней что-ли))
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2022, 10:42
Аспирант
Отправить личное сообщение для Volonter Посмотреть профиль Найти все сообщения от Volonter
 
Регистрация: 18.01.2011
Сообщений: 84

рони,
Во, то что нужно! Супер, спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вот такое задание, но я только в начале пути вэб разработки, подскажите как? Dixlofos Общие вопросы Javascript 31 22.10.2018 01:48