JS Arrays (Dizeler)
Arrays (dizeler) çok önemli bir konu. Array methodları hem JS yazarken hem de JS tabanlı fraaframework ler kullanırken çok karşılaşacağımız ve kullanacağımız methodlar. Bu yüzden iyi anlamak çok önemli.
Asagidakiler JavaScript’teki en yaygın kullanılan array metotlarıdır. Bunları anlamak ve kullanmak, JavaScript programlamasındaki veri işleme yeteneklerinizi önemli ölçüde geliştirecektir.
Arrays (Diziler) Nedir?
Section titled “Arrays (Diziler) Nedir?”JavaScript’te bir dizi (array), tek bir değişken adı altında birden çok değeri depolamanıza olanak tanıyan özel bir değişken türüdür. Farklı veri türlerinden oluşan bir koleksiyonu (sayılar, dizeler, nesneler ve hatta diğer diziler) depolamak için kullanabileceğiniz bir veri yapısıdır.
// Boş bir dizi oluşturunlet myArray = [];
// Sayılardan oluşan bir dizi oluşturunlet numbers = [1, 2, 3, 4, 5];
// Dizelerden oluşan bir dizi oluşturunlet fruits = ["apple", "banana", "orange"];
// Farklı veri türlerini içeren bir dizi oluşturunlet mixedArray = [1, "hello", true, { key: "value" }];Temel Dizi Metotları
Section titled “Temel Dizi Metotları”push()
Section titled “push()”push() : Dizinin sonuna bir veya daha fazla öğe ekler ve dizinin yeni uzunluğunu döndürür.
let fruits = ["apple", "banana"];fruits.push("orange");console.log(fruits); // Çıktı: ["apple", "banana", "orange"]pop() : Dizinin son öğesini kaldırır ve o öğeyi döndürür. Bu metot dizinin uzunluğunu değiştirir.
let fruits = ["apple", "banana"];fruits.push("orange");console.log(fruits); // Çıktı: ["apple", "banana", "orange"]shift()
Section titled “shift()”shift() : Dizinin ilk öğesini kaldırır ve o öğeyi döndürür. Bu metot dizinin uzunluğunu değiştirir ve kalan öğelerin indekslerini kaydırır.
let fruits = ["apple", "banana", "orange"];let removedFruit = fruits.shift();console.log(fruits); // Çıktı: ["banana", "orange"]console.log(removedFruit); // Çıktı: "apple"unshift()
Section titled “unshift()”unshift() : Dizinin başına bir veya daha fazla öğe ekler ve dizinin yeni uzunluğunu döndürür.
let fruits = ["banana", "orange"];fruits.unshift("apple");console.log(fruits); // Çıktı: ["apple", "banana", "orange"]concat()
Section titled “concat()”concat(): İki veya daha fazla diziyi birleştirmek için kullanılır. Mevcut dizileri değiştirmez, bunun yerine yeni bir birleşik dizi döndürür.
let fruits = ["apple", "banana"];let moreFruits = ["orange", "grape"];let allFruits = fruits.concat(moreFruits);console.log(allFruits); // Çıktı: ["apple", "banana", "orange", "grape"]slice()
Section titled “slice()”slice() : Bir dizinin bir bölümünü yeni bir dizi nesnesine sığ bir kopyasını döndürür. Orijinal dizi değişmez.
let fruits = ["apple", "banana", "orange", "grape"];let citrus = fruits.slice(2, 4);console.log(citrus); // Çıktı: ["orange", "grape"]console.log(fruits); // Çıktı: ["apple", "banana", "orange", "grape"] (orijinal dizi değişmez)splice()
Section titled “splice()”splice() : Öğeleri kaldırarak veya değiştirerek ve/veya yeni öğeler ekleyerek bir dizinin içeriğini değiştirir.
let fruits = ["apple", "banana", "orange", "grape"];fruits.splice(2, 1, "kiwi", "mango");console.log(fruits); // Çıktı: ["apple", "banana", "kiwi", "mango", "grape"] (1 öğe 2. indeksten kaldırılır ve yerine kiwi ve mango eklenir)Yineleme Metotları
Section titled “Yineleme Metotları”forEach()
Section titled “forEach()”forEach(): Her dizi öğesi için sağlanan bir işlevi bir kez yürütür.
let fruits = ["apple", "banana", "orange"];fruits.forEach(function(fruit) { console.log("I like " + fruit);});// Çıktı:// "I like apple"// "I like banana"// "I like orange"map() : Her öğe için bir işlev çağrıldıktan sonraki sonuçlarla doldurulan yeni bir dizi oluşturur.
let numbers = [1, 2, 3];let doubled = numbers.map(function(number) { return number * 2;});console.log(doubled); // Çıktı: [2, 4, 6]filter()
Section titled “filter()”filter() : Sağlanan işlev tarafından uygulanan testi geçen tüm öğelerle yeni bir dizi oluşturur.
let numbers = [1, 2, 3, 4, 5, 6];let evenNumbers = numbers.filter(function(number) { return number % 2 === 0;});console.log(evenNumbers); // Çıktı: [2, 4, 6]reduce()
Section titled “reduce()”reduce() : Bir dizideki her öğe için (soldan sağa) bir indirgeyici işlev uygular ve onu tek bir değere indirger.
let numbers = [1, 2, 3, 4];let sum = numbers.reduce(function(accumulator, currentValue) { return accumulator + currentValue;}, 0);console.log(sum); // Çıktı: 10 (1+2+3+4)find()
Section titled “find()”find() : Sağlanan test işlevini karşılayan dizideki ilk öğenin değerini döndürür. Aksi takdirde undefined döndürülür.
let numbers = [5, 12, 8, 130, 44];let found = numbers.find(function(element) { return element > 10;});console.log(found); // Çıktı: 12 (10'dan büyük ilk öğe)Arama ve Sıralama
Section titled “Arama ve Sıralama”indexOf()
Section titled “indexOf()”indexOf(): Belirli bir öğenin bulunabileceği ilk indeksi döndürür veya mevcut değilse -1 döndürür.
JavaScript
let fruits = ["apple", "banana", "orange", "apple"];console.log(fruits.indexOf("apple")); // Çıktı: 0 (apple'ın ilk görüldüğü yer)console.log(fruits.indexOf("grape")); // Çıktı: -1 (bulunamadı)lastIndexOf()
Section titled “lastIndexOf()”lastIndexOf(): Belirli bir öğenin bulunabileceği son indeksi döndürür veya mevcut değilse -1 döndürür.
let fruits = ["apple", "banana", "orange", "apple"];console.log(fruits.lastIndexOf("apple")); // Çıktı: 3 ("apple"ın son görüldüğü yer)includes()
Section titled “includes()”includes(): Bir dizinin belirli bir öğeyi içerip içermediğini belirleyerek buna göre true veya false döndürür.
let fruits = ["apple", "banana", "orange"];console.log(fruits.includes("banana")); // Çıktı: trueconsole.log(fruits.includes("grape")); // Çıktı: falsesort()
Section titled “sort()”sort(): Bir dizinin öğelerini yerinde sıralar ve diziyi döndürür. Varsayılan sıralama düzeni, öğeleri dizelere dönüştürerek ve ardından UTF-16 kod birimi değerleri dizilerini karşılaştırarak artan düzendedir.
let fruits = ["banana", "apple", "orange"];fruits.sort();console.log(fruits); // Çıktı: ["apple", "banana", "orange"] (alfabetik olarak sıralanmış)
let numbers = [4, 2, 5, 1, 3];numbers.sort(function(a, b) { return a - b;});console.log(numbers); // Çıktı: [1, 2, 3, 4, 5] (sayısal olarak sıralanmış)reverse()
Section titled “reverse()”reverse(): Bir dizinin öğelerinin sırasını tersine çevirir - ilk öğe son olur ve son öğe ilk olur.
let fruits = ["apple", "banana", "orange"];fruits.reverse();console.log(fruits); // Çıktı: ["orange", "banana", "apple"]Diğer Faydalı Metotlar
Section titled “Diğer Faydalı Metotlar”join()
Section titled “join()”join(): Bir dizideki (veya dizi benzeri bir nesnedeki) tüm öğeleri bir dizeye birleştirir ve bu dizeyi döndürür.
let fruits = ["apple", "banana", "orange"];let fruitString = fruits.join(", ");console.log(fruitString); // Çıktı: "apple, banana, orange"toString()
Section titled “toString()”toString(): Bir diziyi ve öğelerini temsil eden bir dize döndürür.
let fruits = ["apple", "banana", "orange"];let fruitString = fruits.toString();console.log(fruitString); // Çıktı: "apple,banana,orange"isArray()
Section titled “isArray()”isArray(): Bir nesnenin bir dizi olup olmadığını belirler.
console.log(Array.isArray([1, 2, 3])); // Çıktı: trueconsole.log(Array.isArray({foo: 123})); // Çıktı: false