Rozwiązany: jak losowo posortować tablicę javascript

Głównym problemem związanym z losowym sortowaniem tablicy jest to, że może to być bardzo czasochłonne.

 arrays sorting random

I have an array of objects that I need to randomly sort.  The objects have a property called "order" that is a number.  I need to sort the array so that the order property is in random order, but the other properties of each object stay in place.  How can I do this?


A:

You can use <code>sort</code> with a function that returns a random value:


<code>const arr = [
  { id: 1, name: 'foo' },
  { id: 2, name: 'bar' },
];
arr.sort(() =&gt; Math.random() - 0.5);
console.log(arr);</code>



Tablice i funkcje sortujące

Tablica to zbiór danych, do których można uzyskać dostęp za pomocą numeru indeksu. Pierwszy element tablicy ma indeks 0, drugi element ma indeks 1 i tak dalej. Aby uzyskać dostęp do trzeciego elementu w tablicy, użyłbyś indeksu numer 3.

Aby posortować tablicę, możesz użyć funkcji sortowania. Funkcja sort przyjmuje dwa argumenty: tablicę i funkcję porównującą. Funkcja porównania porównuje dwa elementy w tablicy i zwraca wartość logiczną. Jeśli funkcja porównania zwróci wartość true, wówczas element na pozycji x w tablicy zostanie umieszczony przed elementem na pozycji y w tablicy. Jeśli funkcja porównania zwróci wartość false, wówczas element na pozycji xwtablicy zostanie umieszczony po elemencie na pozycji ywtablicy.

Oto przykład użycia funkcji sortowania do posortowania tablicy liczb:

numery zmiennych = [1, 2, 3, 4]; // Sortowanie liczb za pomocą funkcji porównującej var sortedNumbers = numbers .sort(function(a, b) { return a – b; }); // Wydruk konsoli sortedNumbers .log(sortedNumbers);

Losowe tablice

Tablica to zbiór danych, do których można uzyskać dostęp za pomocą numeru indeksu. W JavaScript tablice są tworzone przy użyciu konstruktora Array.

Aby utworzyć pustą tablicę, użyj konstruktora Array():

var mojaTablica = nowa Tablica();

Aby utworzyć tablicę z pięcioma elementami, użyj następującego kodu:

var mojaTablica = nowa Tablica(5);

mojaTablica[0] = „JavaScript”; mojaTablica[1] = „Tablice”; mojaTablica[2] = „Funkcje”; mojaTablica[3] = „Ciągi”; mojaTablica[4] = „Boolean”; mojaTablica[5] = „Liczby”;

Powiązane posty:

Zostaw komentarz