Bir dizideki öğelerin sırasını nasıl değiştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir dizideki öğelerin sırasını değiştirmek için birkaç yaklaşım kullanılabilir:
-
reverse(): Diziyi yerinde değiştirir, öğelerin sırasını tersine çevirir.const arr = [1, 2, 3, 4, 5]; arr.reverse(); // arr şimdi [5, 4, 3, 2, 1] -
sort(): Diziyi yerinde sıralar. Varsayılan olarak, diziyi dizgi olarak sıralar. Sayısal sıralama için karşılaştırma fonksiyonu geçirilmelidir.const arr = [3, 1, 4, 1, 5, 9, 2, 6]; arr.sort(); // Varsayılan sıralama (dizgi olarak) // arr şimdi [1, 1, 2, 3, 4, 5, 6, 9] const arrNum = [3, 1, 4, 1, 5, 9, 2, 6]; arrNum.sort((a, b) => a - b); // Artan sıralama // arrNum şimdi [1, 1, 2, 3, 4, 5, 6, 9] arrNum.sort((a, b) => b - a); // Azalan sıralama // arrNum şimdi [9, 6, 5, 4, 3, 2, 1, 1] -
Yeni bir dizi oluşturmak ve sıralamak veya ters çevirmek: Orijinal diziyi değiştirmeden, birkaç yöntem kombinasyonu kullanılabilir.
-
reverse()ile kopya:const arr = [1, 2, 3, 4, 5]; const reversedArr = [...arr].reverse(); // Kopya oluştur ve ters çevir // reversedArr şimdi [5, 4, 3, 2, 1] // arr değişmeden kalır [1, 2, 3, 4, 5] -
sort()ile kopya:const arr = [3, 1, 4, 1, 5]; const sortedArr = [...arr].sort((a, b) => a - b); // Kopya oluştur ve sıralama // sortedArr şimdi [1, 1, 3, 4, 5] // arr değişmeden kalır [3, 1, 4, 1, 5] -
İstediğiniz sıralama (daha karmaşık durum): Belirli bir sıralama gerekiyorsa, basit sıralama veya ters çevirme sonucu olmayan, öğeleri manuel olarak yeniden düzenlemek veya daha karmaşık algoritmalar kullanmak gerekebilir. Örneğin, karıştırma (shuffle):
const arr = [1, 2, 3, 4, 5]; const shuffledArr = [...arr]; for (let i = shuffledArr.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]]; // Öğeleri takas et (destructuring) } // shuffledArr şimdi rastgele karıştırılmıştır // arr değişmeden kalır [1, 2, 3, 4, 5]
-
Seçilen yöntem, istenen sonuca (ters sıralama, sıralama, rastgele sıralama) ve orijinal dizinin değiştirilip değiştirilmemesine bağlıdır.