@heisenberg1

Какая функция подойдёт для получения массива строк случайной длины?

С помощью какой функции можно получить массив строк случайной длины из значений, которые не должны повторяться, с объекта photos?
const photos = {
colors: [
'white', 
'red', 
'blue',
'green', 
'brown',
'black'
], 
link: [
'firstLink',
'secondLink',
'thirdLink'
]
};


Пробовал с помощью этих функций, но что-то не получается у меня прописать как надо
const getRandomArrayElement = (elements) => {
  return elements[_.random(0, elements.length - 1)];
};

function getRandomElement () {
 return {
   colors: getRandomArrayElement(colors),
   link: getRandomArrayElement(link)
}
};

const commonArr = new Array(5).fill(' ').map(() => getRandomElement());
console.log(commonArr)
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Можно проходить по всем элементам и для каждого случайно решать, включать ли его в очередную выборку:
const getSome = (arr) => arr.filter(() => Math.random() >= 0.5);

Минус тут в распределении вероятностей. Чаще всего длина будет около половины длины исходного. А редко может получаться массив нулевой длины, либо полный исходный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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