Opgelost: hoe een array javascript willekeurig te sorteren

Het grootste probleem met het willekeurig sorteren van een array is dat het erg tijdrovend kan zijn.

 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>



Arrays en sorteerfuncties

Een array is een verzameling gegevens die toegankelijk zijn met behulp van een indexnummer. Het eerste element in de array staat op index 0, het tweede element op index 1, enzovoort. Om toegang te krijgen tot het derde element in de array, zou u het indexnummer 3 gebruiken.

Om een ​​array te sorteren, kunt u een sorteerfunctie gebruiken. De sorteerfunctie heeft twee argumenten: een array en een vergelijkingsfunctie. De vergelijkingsfunctie vergelijkt twee elementen in de array en retourneert een booleaanse waarde. Als de vergelijkingsfunctie waar retourneert, wordt het element op positie x in de array vóór het element op positie y in de array geplaatst. Als de vergelijkingsfunctie false retourneert, wordt het element op positie x in de array na het element op positie y in de array geplaatst.

Hier is een voorbeeld van het gebruik van een sorteerfunctie om een ​​reeks getallen te sorteren:

var nummers = [1, 2, 3, 4]; // Sorteer getallen met behulp van een vergelijkingsfunctie var sortedNumbers = numbers .sort(function(a, b) { return a – b; }); // Print gesorteerdNumbers console .log(sortedNumbers);

Willekeurige reeksen

Een array is een verzameling gegevens die toegankelijk zijn met behulp van een indexnummer. In JavaScript worden arrays gemaakt met behulp van de Array-constructor.

Gebruik de constructor Array() om een ​​lege array te maken:

var mijnArray = nieuwe Array();

Gebruik de volgende code om een ​​array met vijf elementen te maken:

var mijnArray = nieuwe Array(5);

mijnArray[0] = "JavaScript"; mijnArray[1] = "Arrays"; myArray[2] = "Functies"; mijnArray[3] = “Tekenreeksen”; myArray[4] = “Booleans”; myArray[5] = "Nummers";

Gerelateerde berichten:

Laat een bericht achter