Решено: како насумично сортирати низ јавасцрипт

Главни проблем са насумично сортирањем низа је тај што може бити дуготрајно.

 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>



Низови и функције сортирања

Низ је збирка података којој се може приступити помоћу индексног броја. Први елемент у низу је на индексу 0, други елемент је на индексу 1, итд. Да бисте приступили трећем елементу у низу, користили бисте индекс број 3.

Да бисте сортирали низ, можете користити функцију сортирања. Функција сортирања узима два аргумента: низ и функцију поређења. Функција поређења упоређује два елемента у низу и враћа логичку вредност. Ако функција поређења врати труе, онда ће елемент на позицији к у низу бити постављен испред елемента на позицији и у низу. Ако функција поређења врати нетачно, онда ће елемент на позицији к у низу бити постављен после елемента на позицији и у низу.

Ево примера како да користите функцију сортирања за сортирање низа бројева:

вар бројеви = [1, 2, 3, 4]; // Сортирај бројеве помоћу функције за поређење вар сортедНумберс = нумберс .сорт(фунцтион(а, б) { ретурн а – б; }); // Одштампај сортедНумберс конзолу .лог(сортедНумберс);

Рандом Арраис

Низ је збирка података којој се може приступити помоћу индексног броја. У ЈаваСцрипт-у, низови се креирају помоћу конструктора низа.

Да бисте креирали празан низ, користите конструктор Арраи():

вар миАрраи = нев Арраи();

Да бисте креирали низ са пет елемената, користите следећи код:

вар миАрраи = нев Арраи(5);

миАрраи[0] = “ЈаваСцрипт”; миАрраи[1] = „Низови“; миАрраи[2] = “Функције”; миАрраи[3] = “Стрингс”; миАрраи[4] = „Боолеанс“; миАрраи[5] = “Бројеви”;

Релатед постс:

Оставите коментар