Rešeno: kako naključno razvrstiti matrični javascript

Glavna težava pri naključnem razvrščanju matrike je, da je lahko zelo zamudno.

 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>



Nizi in funkcije razvrščanja

Matrika je zbirka podatkov, do katere je mogoče dostopati z uporabo indeksne številke. Prvi element v matriki je pri indeksu 0, drugi element pri indeksu 1 in tako naprej. Za dostop do tretjega elementa v matriki bi uporabili indeksno številko 3.

Za razvrščanje matrike lahko uporabite funkcijo razvrščanja. Funkcija razvrščanja sprejme dva argumenta: matriko in primerjalno funkcijo. Primerjalna funkcija primerja dva elementa v matriki in vrne logično vrednost. Če primerjalna funkcija vrne vrednost true, bo element na položaju x v matriki postavljen pred element na položaju y v matriki. Če primerjalna funkcija vrne false, bo element na položaju x v matriki postavljen za elementom na položaju y v matriki.

Tukaj je primer, kako uporabiti funkcijo razvrščanja za razvrščanje niza števil:

spremenljive številke = [1, 2, 3, 4]; // Razvrsti števila z uporabo primerjalne funkcije var sortedNumbers = numbers .sort(function(a, b) { return a – b; }); // Izpis konzole sortedNumbers .log(sortedNumbers);

Naključni nizi

Matrika je zbirka podatkov, do katere je mogoče dostopati z uporabo indeksne številke. V JavaScriptu so nizi ustvarjeni s konstruktorjem Array.

Če želite ustvariti prazno matriko, uporabite konstruktor Array():

var myArray = nova matrika();

Če želite ustvariti matriko s petimi elementi, uporabite naslednjo kodo:

var myArray = nova matrika(5);

myArray[0] = “JavaScript”; myArray[1] = “Matrike”; myArray[2] = “Funkcije”; myArray[3] = “Nizovi”; myArray[4] = “Boolove vrednosti”; myArray[5] = “Številke”;

Podobni objav:

Pustite komentar