Lahendatud: kuidas massiivi javascripti juhuslikult sorteerida

Massiivi juhusliku sortimise peamine probleem on see, et see võib olla väga aeganõudev.

 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>



Massiivid ja sortimisfunktsioonid

Massiiv on andmete kogum, millele pääseb juurde indeksinumbri abil. Massiivi esimene element on indeksis 0, teine ​​element indeksis 1 ja nii edasi. Massiivi kolmandale elemendile juurdepääsuks kasutaksite indeksi numbrit 3.

Massiivi sortimiseks võite kasutada sortimisfunktsiooni. Sorteerimisfunktsioon kasutab kahte argumenti: massiivi ja võrdlusfunktsiooni. Võrdlusfunktsioon võrdleb kahte massiivi elementi ja tagastab tõeväärtuse. Kui võrdlusfunktsioon tagastab väärtuse tõene, siis asetatakse massiivi positsioonil x olev element enne massiivi positsioonil y olevat elementi. Kui võrdlusfunktsioon tagastab vale, siis paigutatakse positsioonis x olev element massiivi positsioonis y oleva elemendi järel.

Siin on näide, kuidas kasutada sortimisfunktsiooni numbrimassiivi sortimiseks:

var numbrid = [1, 2, 3, 4]; // Numbrite sortimine võrdleja funktsiooni abil var sortedNumbers = numbrid .sort(function(a, b) { return a – b; }); // Prindi välja sortedNumbers konsool .log(sortedNumbers);

Juhuslikud massiivid

Massiiv on andmete kogum, millele pääseb juurde indeksinumbri abil. JavaScriptis luuakse massiivid massiivikonstruktori abil.

Tühja massiivi loomiseks kasutage Array() konstruktorit:

var myArray = new Array();

Viie elemendiga massiivi loomiseks kasutage järgmist koodi:

var myArray = new Massiivi(5);

myArray[0] = "JavaScript"; myArray[1] = "Massiivid"; myArray[2] = "Funktsioonid"; myArray[3] = "Stringid"; myArray[4] = "tõuväärtused"; myArray[5] = "Numbrid";

Seonduvad postitused:

Jäta kommentaar