Solucionat: com ordenar aleatòriament una matriu javascript

El principal problema amb l'ordenació aleatòria d'una matriu és que pot consumir molt de temps.

 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>



Arrays i funcions d'ordenació

Una matriu és una col·lecció de dades a les quals es pot accedir mitjançant un número d'índex. El primer element de la matriu es troba a l'índex 0, el segon element es troba a l'índex 1, i així successivament. Per accedir al tercer element de la matriu, hauríeu d'utilitzar el número d'índex 3.

Per ordenar una matriu, podeu utilitzar una funció d'ordenació. La funció d'ordenació pren dos arguments: una matriu i una funció de comparació. La funció de comparació compara dos elements de la matriu i retorna un valor booleà. Si la funció de comparació retorna true, aleshores l'element a la posició x de la matriu es col·locarà abans de l'element a la posició y de la matriu. Si la funció de comparació retorna false, l'element a la posició x de la matriu es col·locarà després de l'element a la posició y de la matriu.

Aquí teniu un exemple de com utilitzar una funció d'ordenació per ordenar una matriu de números:

nombres var = [1, 2, 3, 4]; // Ordena números mitjançant una funció de comparació var sortdNumbers = nombres .sort(function(a, b) { return a – b; }); // Imprimeix sortdNumbers consola .log(sortedNumbers);

Arrays aleatoris

Una matriu és una col·lecció de dades a les quals es pot accedir mitjançant un número d'índex. A JavaScript, les matrius es creen mitjançant el constructor Array.

Per crear una matriu buida, utilitzeu el constructor Array():

var myArray = new Array();

Per crear una matriu amb cinc elements, utilitzeu el codi següent:

var myArray = new Array(5);

myArray[0] = "JavaScript"; myArray[1] = "Matrius"; myArray[2] = "Funcions"; myArray[3] = "Cadenes"; myArray[4] = "Booleans"; myArray[5] = "Nombres";

Articles Relacionats:

Deixa el teu comentari