Javascript

Javascript Dizi Sıralama

Herkese merhaba, Javascript yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda dizi sıralamayı anlatacağım. Hadi başlayalım !

Javascript’te, bir dizi içindeki elemanları sıralamak için iki yöntem vardır: yerinde sıralama (in-place sorting) ve yeni bir dizi oluşturma. Şimdi sırayla bu iki yöntemi ele alalım.

Yerinde Sıralama

Yerinde sıralama, verilen diziyi değiştirir ve yeni bir dizi oluşturmaz. Bu yöntem, dizinin boyutunun büyük olması durumunda daha hızlıdır. Javascript’te yerinde sıralama için, Array.prototype.sort() metodu kullanılır. Bu yöntem, diziyi varsayılan olarak artan sırada sıralar. Örneğin

const arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
arr.sort();
console.log(arr); // [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

Diziyi azalan sırada sıralamak için, sort() metoduna bir fonksiyon geçirilir. Bu fonksiyon, sıralama algoritması olarak kullanılır. Örneğin;

const arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
arr.sort((a, b) => b - a);
console.log(arr); // [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

Yeni Bir Dizi Oluşturma

Yeni bir dizi oluşturma yöntemi, verilen diziyi değiştirmez ve sıralanmış bir kopyasını döndürür. Bu yöntem, orijinal dizinin değiştirilmesini istemediğimiz durumlarda kullanılır. Bu yöntem için, Array.prototype.slice() ve Array.prototype.sort() metodları kullanılır. Bunada örnek olarak şöyle bir kod yazalım;

const arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
const sortedArr = arr.slice().sort();
console.log(arr); // [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
console.log(sortedArr); // [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

Yerinde sıralamada olduğu gibi diziyi azalan sırada sıralamak için, sort() metoduna bir fonksiyon geçirilir.

const arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
const sortedArr = arr.slice().sort((a, b) => b - a);
console.log(arr); // [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
console.log(sortedArr); // [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

Diziyi farklı kriterlere göre sıralamak istiyorsanız, sort() metoduna bir karşılaştırma fonksiyonu geçirerek bunu yapabilirsiniz. Örneğin, bir nesne dizisi içindeki nesneleri, belirli bir özelliğe göre sıralayabilirsiniz.

const arr = [
  { name: "Alice", age: 25 },
  { name: "Bob", age: 20 },
  { name: "Charlie", age: 30 },
];

// name özelliğine göre sırala
arr.sort((a, b) => a.name.localeCompare(b.name));

console.log(arr);
/*
[ { name: 'Alice', age: 25 },
  { name: 'Bob', age: 20 },
  { name: 'Charlie', age: 30 } ]
*/

// age özelliğine göre sırala
arr.sort((a, b) => a.age - b.age);

console.log(arr);
/*
[ { name: 'Bob', age: 20 },
  { name: 'Alice', age: 25 },
  { name: 'Charlie', age: 30 } ]
*/

Javascript’te sıralama, hız ve bellek tüketimi açısından optimize edilmiştir. Ancak, bazı durumlarda, büyük veri setlerinde performans sorunları olabilir. Bu durumda, özel sıralama algoritmaları kullanmak gerekebilir. Örneğin, hızlı sıralama (quick sort) veya birleştirme sıralaması (merge sort) gibi algoritmaları kullanabilirsiniz.

Bu yazıda, Javascript’te dizi sıralama yöntemlerini öğrendiniz. Yerinde sıralama ve yeni bir dizi oluşturma yöntemleri kullanarak dizi elemanlarını sıralayabilirsiniz. Ayrıca, karşılaştırma fonksiyonları kullanarak özelleştirilmiş sıralama kriterleri oluşturabilirsiniz. Tüm Javascript yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu