“Zdobądź n losowe elementy z tablicy JavaScript” Kod odpowiedzi

JavaScript Zdobądź n losowe elementy z tablicy

// Shuffle array
const shuffled = array.sort(() => 0.5 - Math.random());

// Get sub-array of first n elements after shuffled
let selected = shuffled.slice(0, n);
Cerbrain

Zdobądź n losowe elementy z tablicy JavaScript

function getRandom(arr, n) {
    var result = new Array(n),
        len = arr.length,
        taken = new Array(len);
    if (n > len)
        throw new RangeError("getRandom: more elements taken than available");
    while (n--) {
        var x = Math.floor(Math.random() * len);
        result[n] = arr[x in taken ? taken[x] : x];
        taken[x] = --len in taken ? taken[len] : len;
    }
    return result;
}
Black Bird

Odpowiedzi podobne do “Zdobądź n losowe elementy z tablicy JavaScript”

Pytania podobne do “Zdobądź n losowe elementy z tablicy JavaScript”

Więcej pokrewnych odpowiedzi na “Zdobądź n losowe elementy z tablicy JavaScript” w JavaScript

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu