Bir diziyi rasgele sıralamanın ana sorunu, bunun çok zaman alıcı olabilmesidir.
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>
Diziler ve sıralama işlevleri
Dizi, bir dizin numarası kullanılarak erişilebilen bir veri koleksiyonudur. Dizideki ilk eleman 0 indeksinde, ikinci eleman 1 indeksinde vb. Dizideki üçüncü öğeye erişmek için 3 numaralı indeksi kullanırsınız.
Bir diziyi sıralamak için sıralama işlevini kullanabilirsiniz. Sıralama işlevi iki bağımsız değişken alır: bir dizi ve bir karşılaştırma işlevi. Karşılaştırma işlevi, dizideki iki öğeyi karşılaştırır ve bir boole değeri döndürür. Karşılaştırma işlevi true değerini döndürürse, dizide x konumundaki öğe dizide y konumundaki öğeden önce yerleştirilecektir. Karşılaştırma işlevi false döndürürse, dizide x konumundaki öğe dizide y konumundaki öğeden sonra yerleştirilir.
Bir sayı dizisini sıralamak için sıralama işlevinin nasıl kullanılacağına ilişkin bir örnek:
var sayılar = [1, 2, 3, 4]; // Karşılaştırıcı işlevi kullanarak sayıları sıralayın var sortedNumbers = sayılar .sort(function(a, b) { return a – b; }); // sortedNumbers konsolunu yazdır .log(sortedNumbers);
Rastgele Diziler
Dizi, bir dizin numarası kullanılarak erişilebilen bir veri koleksiyonudur. JavaScript'te diziler, Array yapıcısı kullanılarak oluşturulur.
Boş bir dizi oluşturmak için Array() yapıcısını kullanın:
var myArray = new Array();
Beş öğeli bir dizi oluşturmak için aşağıdaki kodu kullanın:
var myArray = new Array(5);
myArray[0] = “JavaScript”; myArray[1] = “Diziler”; myArray[2] = "İşlevler"; myArray[3] = “Dizeler”; myArray[4] = “Booleanlar”; myArray[5] = “Sayılar”;