Λύθηκε: πώς να ταξινομήσετε τυχαία έναν πίνακα javascript

Το κύριο πρόβλημα με την τυχαία ταξινόμηση ενός πίνακα είναι ότι μπορεί να είναι πολύ χρονοβόρα.

 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.

Για να ταξινομήσετε έναν πίνακα, μπορείτε να χρησιμοποιήσετε μια συνάρτηση ταξινόμησης. Η συνάρτηση ταξινόμησης παίρνει δύο ορίσματα: έναν πίνακα και μια συνάρτηση σύγκρισης. Η συνάρτηση σύγκρισης συγκρίνει δύο στοιχεία στον πίνακα και επιστρέφει μια τιμή boolean. Εάν η συνάρτηση σύγκρισης επιστρέψει true, τότε το στοιχείο στη θέση x στον πίνακα θα τοποθετηθεί πριν από το στοιχείο στη θέση y στον πίνακα. Εάν η συνάρτηση σύγκρισης επιστρέψει false, τότε το στοιχείο στη θέση x στη διάταξη θα τοποθετηθεί μετά το στοιχείο στη θέση y στη διάταξη.

Ακολουθεί ένα παράδειγμα του τρόπου χρήσης μιας συνάρτησης ταξινόμησης για την ταξινόμηση ενός πίνακα αριθμών:

var numbers = [1, 2, 3, 4]; // Ταξινόμηση αριθμών χρησιμοποιώντας μια συνάρτηση σύγκρισης var sortedNumbers = numbers .sort(function(a, b) { return a – b; }); // Εκτύπωση sortedNumbers κονσόλα .log(sortedNumbers);

Τυχαίοι Πίνακες

Ένας πίνακας είναι μια συλλογή δεδομένων στα οποία είναι δυνατή η πρόσβαση χρησιμοποιώντας έναν αριθμό ευρετηρίου. Στο JavaScript, οι πίνακες δημιουργούνται χρησιμοποιώντας τον κατασκευαστή Array.

Για να δημιουργήσετε έναν κενό πίνακα, χρησιμοποιήστε τον κατασκευαστή Array():

var myArray = new Array();

Για να δημιουργήσετε έναν πίνακα με πέντε στοιχεία, χρησιμοποιήστε τον ακόλουθο κώδικα:

var myArray = νέος πίνακας (5);

myArray[0] = "JavaScript"; myArray[1] = "Πίνακες"; myArray[2] = "Συναρτήσεις"; myArray[3] = "Strings"; myArray[4] = "Booleans"; myArray[5] = "Αριθμοί";

Σχετικές αναρτήσεις:

Αφήστε ένα σχόλιο