Atrisināts: kā nejauši kārtot masīva javascript

Galvenā problēma, nejauši kārtojot masīvu, ir tā, ka tas var būt ļoti laikietilpīgs.

 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>



Masīvu un kārtošanas funkcijas

Masīvs ir datu kopums, kam var piekļūt, izmantojot indeksa numuru. Pirmais elements masīvā atrodas indeksā 0, otrais elements ir indeksā 1 utt. Lai piekļūtu trešajam masīva elementam, jāizmanto indeksa numurs 3.

Lai kārtotu masīvu, varat izmantot kārtošanas funkciju. Kārtošanas funkcijai ir divi argumenti: masīvs un salīdzināšanas funkcija. Salīdzināšanas funkcija salīdzina divus masīva elementus un atgriež Būla vērtību. Ja salīdzināšanas funkcija atgriež vērtību True, elements masīvā x pozīcijā tiks novietots pirms elementa masīva pozīcijā y. Ja salīdzināšanas funkcija atgriež false, tad elements, kas atrodas masīvā x pozīcijā, tiks novietots aiz elementa pozīcijā y masīvā.

Šeit ir piemērs, kā izmantot kārtošanas funkciju, lai kārtotu skaitļu masīvu:

var skaitļi = [1, 2, 3, 4]; // Kārtot skaitļus, izmantojot salīdzināšanas funkciju var sortedNumbers = skaitļi .sort(function(a, b) { return a – b; }); // Izdrukāt sortedNumbers konsole .log(sortedNumbers);

Nejauši masīvi

Masīvs ir datu kopums, kam var piekļūt, izmantojot indeksa numuru. Programmā JavaScript masīvi tiek izveidoti, izmantojot masīvu konstruktoru.

Lai izveidotu tukšu masīvu, izmantojiet konstruktoru Array():

var myArray = new Array();

Lai izveidotu masīvu ar pieciem elementiem, izmantojiet šādu kodu:

var myArray = new Array(5);

myArray[0] = "JavaScript"; myArray[1] = "Masīvi"; myArray[2] = "Funkcijas"; myArray[3] = "Virknes"; myArray[4] = "Būlas vērtības"; myArray[5] = "Cipari";

Related posts:

Leave a Comment