Последовательность рандомных элементов в двумерном масиве
Есть двумерный масив вида
let array = [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]
]
Нужна функция, которая позволит получить массив с индексами рандомно выбранных элементов.
Результат должен выглядеть примерно так
let result = getRandomElements(arr, 5)
Где 5 это количество элементов
result = [[1,3], [3, 1], [2,1], [3,3], [2, 2]]
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Cмотрите на них как на одномерный массив индексов от нуля до (NxM - 1).
Заполните массив из пяти элементов случайными числами из этого массива, проверяя, что одинаковых нет. Потом пересчитайте обратно в индексы двумерного массива.
Если нужно много случайных элементов, например, больше четверти, то имеет смысл весь исходный массив индексов перемешать и взять первые K.