Основният проблем с произволното сортиране на масив е, че може да отнеме много време.
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(() => Math.random() - 0.5);
console.log(arr);</code>
Масиви и функции за сортиране
Масивът е съвкупност от данни, до които може да се осъществи достъп с помощта на индексен номер. Първият елемент в масива е с индекс 0, вторият елемент е с индекс 1 и т.н. За достъп до третия елемент в масива ще използвате индекс номер 3.
За да сортирате масив, можете да използвате функция за сортиране. Функцията за сортиране приема два аргумента: масив и функция за сравнение. Функцията за сравнение сравнява два елемента в масива и връща булева стойност. Ако функцията за сравнение върне true, тогава елементът на позиция x в масива ще бъде поставен преди елемента на позиция y в масива. Ако функцията за сравнение върне false, тогава елементът на позиция x в масива ще бъде поставен след елемента на позиция y в масива.
Ето пример как да използвате функция за сортиране за сортиране на масив от числа:
променливи числа = [1, 2, 3, 4]; // Сортиране на числа с помощта на функция за сравнение var sortedNumbers = numbers .sort(function(a, b) { return a – b; }); // Отпечатване на конзолата sortedNumbers .log(sortedNumbers);
Случайни масиви
Масивът е съвкупност от данни, до които може да се осъществи достъп с помощта на индексен номер. В JavaScript масивите се създават с помощта на конструктора Array.
За да създадете празен масив, използвайте конструктора Array():
var myArray = нов масив();
За да създадете масив с пет елемента, използвайте следния код:
var myArray = нов масив(5);
myArray[0] = “JavaScript”; myArray[1] = “Масиви”; myArray[2] = “Функции”; myArray[3] = “Низове”; myArray[4] = “Булеви стойности”; myArray[5] = “Числа”;