Nalutas: kung paano random na pag-uri-uriin ang isang array javascript

Ang pangunahing problema sa random na pag-uuri ng isang array ay na maaari itong maging napakatagal.

 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>



Mga array at pag-uuri ng mga function

Ang array ay isang koleksyon ng data na maaaring ma-access gamit ang isang index number. Ang unang elemento sa array ay nasa index 0, ang pangalawang elemento ay nasa index 1, at iba pa. Upang ma-access ang ikatlong elemento sa array, gagamitin mo ang index number 3.

Upang pag-uri-uriin ang isang array, maaari kang gumamit ng isang function ng pag-uuri. Ang pag-uuri ng function ay tumatagal ng dalawang argumento: isang array at isang function ng paghahambing. Ang function ng paghahambing ay naghahambing ng dalawang elemento sa array at nagbabalik ng boolean value. Kung nagbabalik ng true ang function ng paghahambing, ang elemento sa posisyon x sa array ay ilalagay bago ang elemento sa posisyon y sa thearray. Kung nagbabalik ng false ang function ng paghahambing, ang elemento sa posisyong x inthearray ay ilalagay pagkatapos ng elemento sa posisyon y inthearray.

Narito ang isang halimbawa kung paano gumamit ng isang function ng pag-uuri upang pagbukud-bukurin ang isang hanay ng mga numero:

var numbers = [1, 2, 3, 4]; // Pagbukud-bukurin ang mga numero gamit ang isang function ng paghahambing var sortedNumbers = mga numero .sort(function(a, b) { return a โ€“ b; }); // Print out sortedNumbers console .log(sortedNumbers);

Mga Random na Array

Ang array ay isang koleksyon ng data na maaaring ma-access gamit ang isang index number. Sa JavaScript, ang mga array ay nilikha gamit ang Array constructor.

Upang lumikha ng isang walang laman na array, gamitin ang Array() constructor:

var myArray = bagong Array();

Upang lumikha ng isang array na may limang elemento, gamitin ang sumusunod na code:

var myArray = bagong Array(5);

myArray[0] = โ€œJavaScriptโ€; myArray[1] = โ€œMga Arrayโ€; myArray[2] = โ€œMga Pag-andarโ€; myArray[3] = โ€œMga Stringโ€; myArray[4] = โ€œMga Booleanโ€; myArray[5] = โ€œMga Numeroโ€;

Kaugnay na mga post:

Mag-iwan ng komento