split Metodu
split metodu,
bir dizeyi, ilk parametrede belirtilen
ayırıcıya göre bir diziye böler.
Eğer ayırıcı belirtilmezse, dizenin tamamı
bir dizi elemanı olarak döndürülür.
Eğer ayırıcı boş bir string (''') olarak belirtilirse,
dizenin her bir karakteri ayrı bir dizi elemanı olur.
İkinci, isteğe bağlı parametre ile, elde edilecek dizideki
maksimum eleman sayısı belirtilebilir.
Sözdizimi
dize.split([ayırıcı], [maksimum eleman sayısı]);
Örnek
İçinde tireler bulunan bir dize verildiğini varsayalım.
Bu dizeyi, ayırıcı olarak '-' kullanarak
bir diziye ayıralım:
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Kodun çalıştırılmasının sonucu:
['ab', 'cd', 'ef']
Örnek
Dizeyi tekrar '-' ayırıcısına göre ayıralım,
ancak bu sefer ikinci parametre olarak elde edilecek dizideki
maksimum eleman sayısını, örneğin 2 olarak belirtelim.
Bu durumda diziye sadece 2 eleman yazılacaktır:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Kodun çalıştırılmasının sonucu:
['ab', 'cd']
Örnek
Dizedeki her bir karakteri ayrı bir dizi elemanına yazalım:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Kodun çalıştırılmasının sonucu:
['a', 'b', 'c', 'd', 'e']
Örnek
Dizenin ilk 3 karakterini ayrı dizi elemanlarına yazalım:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Kodun çalıştırılmasının sonucu:
['a', 'b', 'c']
Örnek
split kullanarak sayılar içeren bir dizeyi ayıralım.
Sonuçta bir sayı dizisi değil, bir string dizisi elde edileceğine dikkat edin:
let str = '12345';
let arr = str.split('');
console.log(arr);
Kodun çalıştırılmasının sonucu:
['1', '2', '3', '4', '5']
Örnek . Uygulama
Dizedeki karakterleri ters çevirelim.
Bunun için, dizeyi split kullanarak
'' ayırıcısına göre bir diziye ayıralım
(bu, dizedeki her karakteri ayrı bir dizi elemanına yerleştirir),
reverse
metodu ile bu diziyi tersine çevirelim ve ardından
ters çevrilmiş diziyi
join
metodu ile tekrar birleştirelim:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Kodun çalıştırılmasının sonucu:
'987654321'
Örnek . Uygulama
Önceki görevin çözümünü basitleştirelim - tüm metotları bir zincir içinde birleştirelim:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Kodun çalıştırılmasının sonucu:
'987654321'
Örnek . Uygulama
Rakamlardan oluşan bir dize verilsin. Bu dizedeki
rakamların toplamını bulalım. Bunun için dizeyi
bir diziye ayıralım, ardından bu diziyi döngüye
sokup toplamını bulalım. Dikkat: split
string'ler döndürür, bu nedenle toplama işlemi
yaparken bu string rakamları, Number
kullanarak gerçek sayılara dönüştürmeliyiz:
let str = '12345';
let arr = str.split('');
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += Number(arr[i]);
}
console.log(sum);
Kodun çalıştırılmasının sonucu:
15
Örnek . Uygulama
Bir sayı verilsin. Bu sayının her bir rakamını
ayrı bir dizi elemanına yazalım.
Burada bir püf noktası var - split metodu
sadece string'lerde kullanılabilir, oysa bizim bir sayımız var.
Önce sayıyı, String kullanarak string'e dönüştürelim,
ardından split uygulayalım:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Kodun çalıştırılmasının sonucu:
['1', '2', '3', '4', '5']