Resolvido: como classificar aleatoriamente um array javascript

O principal problema com a classificação aleatória de um array é que isso pode consumir muito tempo.

 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 e funções de classificação

Uma matriz é uma coleção de dados que podem ser acessados ​​usando um número de índice. O primeiro elemento da matriz está no índice 0, o segundo elemento está no índice 1 e assim por diante. Para acessar o terceiro elemento na matriz, você usaria o número de índice 3.

Para classificar uma matriz, você pode usar uma função de classificação. A função sort recebe dois argumentos: uma matriz e uma função de comparação. A função de comparação compara dois elementos na matriz e retorna um valor booleano. Se a função de comparação retornar true, o elemento na posição x no array será colocado antes do elemento na posição y no array. Se a função de comparação retornar false, o elemento na posição x no array será colocado depois do elemento na posição y no array.

Aqui está um exemplo de como usar uma função de classificação para classificar uma matriz de números:

var números = [1, 2, 3, 4]; // Classificar números usando uma função de comparação var sortedNumbers = números .sort(function(a, b) { return a – b; }); // Imprime sortedNumbers console .log(sortedNumbers);

Matrizes Aleatórias

Uma matriz é uma coleção de dados que podem ser acessados ​​usando um número de índice. Em JavaScript, os arrays são criados usando o construtor Array.

Para criar um array vazio, use o construtor Array():

var meuArray = new Array();

Para criar um array com cinco elementos, use o seguinte código:

var meuArray = new Array(5);

meuArray[0] = “JavaScript”; meuArray[1] = “Matrizes”; meuArray[2] = “Funções”; meuArray[3] = “Strings”; meuArray[4] = “Booleanos”; meuArray[5] = “Números”;

Artigos relacionados:

Deixe um comentário