Selesai: bagaimana untuk mengisih javascript tatasusunan secara rawak

Masalah utama dengan menyusun tatasusunan secara rawak ialah ia boleh memakan masa yang lama.

 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>



Tatasusunan dan fungsi isihan

Tatasusunan ialah koleksi data yang boleh diakses menggunakan nombor indeks. Elemen pertama dalam tatasusunan berada pada indeks 0, elemen kedua berada pada indeks 1, dan seterusnya. Untuk mengakses elemen ketiga dalam tatasusunan, anda akan menggunakan nombor indeks 3.

Untuk mengisih tatasusunan, anda boleh menggunakan fungsi isihan. Fungsi isihan mengambil dua argumen: tatasusunan dan fungsi perbandingan. Fungsi perbandingan membandingkan dua elemen dalam tatasusunan dan mengembalikan nilai boolean. Jika fungsi perbandingan kembali benar, maka elemen pada kedudukan x dalam tatasusunan akan diletakkan sebelum elemen pada kedudukan y dalam tatasusunan. Jika fungsi perbandingan kembali palsu, maka elemen pada kedudukan x inthearray akan diletakkan selepas elemen pada kedudukan y inthearray.

Berikut ialah contoh cara menggunakan fungsi isihan untuk mengisih tatasusunan nombor:

nombor var = [1, 2, 3, 4]; // Isih nombor menggunakan fungsi pembanding var sortedNumbers = nombor .sort(function(a, b) { return a – b; }); // Cetak keluar sortedNumbers console .log(sortedNumbers);

Susunan Rawak

Tatasusunan ialah koleksi data yang boleh diakses menggunakan nombor indeks. Dalam JavaScript, tatasusunan dibuat menggunakan pembina Tatasusunan.

Untuk mencipta tatasusunan kosong, gunakan pembina Array() :

var myArray = new Array();

Untuk membuat tatasusunan dengan lima elemen, gunakan kod berikut:

var myArray = new Array(5);

myArray[0] = “JavaScript”; myArray[1] = “Arrays”; myArray[2] = “Fungsi”; myArray[3] = “String”; myArray[4] = “Booleans”; myArray[5] = “Nombor”;

Related posts:

Tinggalkan komen