Löst: hur man slumpmässigt sorterar ett array-javascript

Det största problemet med att slumpvis sortera en array är att det kan vara mycket tidskrävande.

 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>



Matriser och sorteringsfunktioner

En array är en samling data som kan nås med hjälp av ett indexnummer. Det första elementet i arrayen är vid index 0, det andra elementet är vid index 1, och så vidare. För att komma åt det tredje elementet i arrayen skulle du använda indexnumret 3.

För att sortera en array kan du använda en sorteringsfunktion. Sorteringsfunktionen tar två argument: en array och en jämförelsefunktion. Jämförelsefunktionen jämför två element i arrayen och returnerar ett booleskt värde. Om jämförelsefunktionen returnerar sant, kommer elementet vid position x i arrayen att placeras före elementet i position y i arrayen. Om jämförelsefunktionen returnerar false, kommer elementet i position x i arrayen att placeras efter elementet i position y i arrayen.

Här är ett exempel på hur man använder en sorteringsfunktion för att sortera en matris med tal:

var siffror = [1, 2, 3, 4]; // Sortera tal med hjälp av en jämförelsefunktion var sortedNumbers = numbers .sort(function(a, b) { return a – b; }); // Skriv ut sortedNumbers console .log(sortedNumbers);

Slumpmässiga arrayer

En array är en samling data som kan nås med hjälp av ett indexnummer. I JavaScript skapas arrayer med Array-konstruktorn.

För att skapa en tom array, använd Array()-konstruktorn:

var myArray = new Array();

För att skapa en array med fem element, använd följande kod:

var myArray = new Array(5);

myArray[0] = “JavaScript”; myArray[1] = "Arrayer"; myArray[2] = “Funktioner”; myArray[3] = "Strängar"; myArray[4] = “Booleans”; myArray[5] = “Siffror”;

Relaterade inlägg:

Lämna en kommentar