Isonjululwe: indlela yokuhlela ngokungakhethiyo uluhlu lwejavascript

Eyona ngxaki iphambili yokuhlela uluhlu ngokungenamkhethe kukuba inokutya ixesha elininzi.

 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>



Uluhlu kunye nemisebenzi yokuhlela

Uluhlu yingqokelela yedatha enokufikelelwa kusetyenziswa inombolo yesalathiso. Isiqalelo sokuqala kuluhlu lukwisalathiso u-0, into yesibini kwisalathiso 1, njalo njalo. Ukufikelela into yesithathu kuluhlu, ungasebenzisa inombolo yesalathisi 3.

Ukuhlela uluhlu, ungasebenzisa umsebenzi wokuhlela. Umsebenzi wokuhlela uthatha iimpikiswano ezimbini: uluhlu kunye nomsebenzi wothelekiso. Umsebenzi wothelekiso uthelekisa imiba emibini kuluhlu kwaye ibuyisela ixabiso le boolean. Ukuba umsebenzi wothelekiso ubuyisela inyaniso, ngoko ke into ekwindawo x kuluhlu iya kubekwa phambi kwendawo kwindawo y kuluhlu. Ukuba umsebenzi wothelekiso ubuyisela bubuxoki, ngoko ke into ekwindawo ux in thearray iya kubekwa emva kweelement kwindawo y inthereyi.

Nanku umzekelo wendlela yokusebenzisa uhlobo lomsebenzi ukuhlela uluhlu lwamanani:

var amanani = [1, 2, 3, 4]; // Hlela amanani usebenzisa umsebenzi wokuthelekisa var sortedNumbers = amanani .sort(umsebenzi(a, b) { buyisela a – b; }); // Shicilela ngaphandle Amanani ahleliweyo console .log(amanani ahleliweyo);

Random Arrays

Uluhlu yingqokelela yedatha enokufikelelwa kusetyenziswa inombolo yesalathiso. KwiJavaScript, ii-arrays zenziwe ngokusebenzisa i-Array constructor.

Ukwenza uluhlu olungenanto, sebenzisa i-Array () umakhi:

var myArray = iArray entsha ();

Ukwenza uluhlu olunezinto ezintlanu, sebenzisa le khowudi ilandelayo:

var myArray = iArray entsha(5);

myArray[0] = “JavaScript”; myArray[1] = “IiReyi”; myArray[2] = “Imisebenzi”; myArray[3] = “Iintambo”; myArray[4] = “iBooleans”; myArray[5] = “Amanani”;

Izithuba ezihambelanayo:

Shiya Comment