Zgjidhur: si të renditni në mënyrë të rastësishme një grup javascript

Problemi kryesor me renditjen e rastësishme të një grupi është se ai mund të marrë shumë kohë.

 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>



Vargjet dhe funksionet e renditjes

Një grup është një koleksion të dhënash që mund të aksesohen duke përdorur një numër indeksi. Elementi i parë në grup është në indeksin 0, elementi i dytë është në indeksin 1, e kështu me radhë. Për të hyrë në elementin e tretë në grup, do të përdorni numrin e indeksit 3.

Për të renditur një grup, mund të përdorni një funksion renditjeje. Funksioni i renditjes merr dy argumente: një grup dhe një funksion krahasimi. Funksioni i krahasimit krahason dy elementë në grup dhe kthen një vlerë boolean. Nëse funksioni i krahasimit kthen true, atëherë elementi në pozicionin x në grup do të vendoset përpara elementit në pozicionin y në grup. Nëse funksioni i krahasimit kthehet false, atëherë elementi në pozicionin x në grup do të vendoset pas elementit në pozicionin y në grup.

Këtu është një shembull se si të përdorni një funksion të renditjes për të renditur një grup numrash:

var numra = [1, 2, 3, 4]; // Rendit numrat duke përdorur një funksion krahasues var sortedNumbers = numrat .sort(funksioni(a, b) { return a – b; }); // Shtypni tastierën sortedNumbers .log(numrat e renditur);

Vargjet e rastësishme

Një grup është një koleksion të dhënash që mund të aksesohen duke përdorur një numër indeksi. Në JavaScript, vargjet krijohen duke përdorur konstruktorin Array.

Për të krijuar një grup bosh, përdorni konstruktorin Array():

var myArray = grup i ri();

Për të krijuar një grup me pesë elementë, përdorni kodin e mëposhtëm:

var myArray = Array i ri (5);

myArray[0] = “JavaScript”; myArray[1] = “Arrays”; myArray[2] = “Funksionet”; myArray[3] = “Strings”; myArray[4] = “Booleans”; myArray[5] = “Numrat”;

Mesazhe të ngjashme:

Lini një koment