Javascript Eğitim Dersleri #008

28 Mart 2008, Cuma

Array Metodları

concat, join, pop, push, reverse, shift, slice, sort, splice, toLocaleString, toString, unshift, valueOf

Array.concat ( metod )

aryArray.concat( [objItem1] [,objItem2][,objItem2]...[,objItemN] )

objItem1
Herhangi bir obje. String / Array / Object / Number vs... N tane ekleyebilirsiniz.

Aynen string’lerdeki concatenation gibi, array’lerde de ( hatta objelerde ) ekleme / toplama / birleştirme yapılabilir.

  1. var aryMyArray1 = Array( 'Ali' , 'Veli' , 'Selami' );
  2. var aryMyArray2 = Array( 20 , 30 , 40 );
  3. var strMyString = 'Bu ise bir string!!!';
  4. var intNumber = 45;
  5. var objImage = new Image();
  6.  
  7. var aryNewOne = aryMyArray1.concat( aryMyArray2 , strMyString , intNumber , objImage );
  8.  
  9. window.alert( typeof( aryNewOne ) );

Array.join ( metod )

aryArray.join( strSeparator )

strSeparator
Ayraç

Array içindeki elemanları, belirtilen delimiter ( ayraç ) ile bağlayarak birleştirip, Array’i String’e çevirir.

  1. var myArray = Array( 'Ali' , 'Veli' , 'Selami' );
  2. var myString = myArray.join( '-' );
  3. window.alert( myString );// Ali-Veli-Selami

Array.pop ( metod )

Array’in son elemanını, Array’den yok eder.

  1. var myArray = Array( 'Ali' , 'Veli' , 'Selami' );
  2. window.alert( myArray ); // Ali,Veli,Selami
  3. myArray.pop();
  4. window.alert( myArray ); // Ali,Veli

Array.push ( metod )

Array’in sonuna yeni eleman ekler

  1. var myArray = Array( 'Ali' , 'Veli' , 'Selami' );
  2. window.alert( myArray ); // Ali,Veli,Selami
  3. myArray.push( 'Vigo' );
  4. window.alert( myArray ); // Ali,Veli,Selami,Vigo

Array.reverse ( metod )

Array’i terse çevirir, bir tür mirror efekti.

  1. var myArray = Array( 'Ali' , 'Veli' , 'Selami' , 'Nuri' );
  2. window.alert( myArray ); // Ali,Veli,Selami,Nuri
  3. myArray.reverse();
  4. window.alert( myArray ); // Nuri,Selami,Veli,Ali

Array.shift ( metod )

İlk elemanı yok eder ( Array.pop’un tersi gibi )

  1. var myArray = Array( 'Ali' , 'Veli' , 'Selami' );
  2. window.alert( myArray );
  3. myArray.shift();
  4. window.alert( myArray ); // Veli,Selami

Array.slice ( metod )

aryArray.slice( [intStart] [,intEnd] )

intStart
Başlangıç indeksi
intEnd
( Opsiyonel ) Bitiş indeksi. Negatif olursa, tersten işler.

Array içinde bir bölümü yine Array olarak almak için kullanılır.

  1. var myArray = Array( 'Ali' , 'Veli' , 'Selami' , 'Tarık' , 'İsmail' , 'Cihangir' , 'Burak' );
  2. var myArraySliced = myArray.slice( 2 , 5 );
  3. // Yani 0 indeksli olmak üzere, 2.elemandan ( Selami ) itibaren 5.elemana kadar ( Cihangir ) al. Yani 5.elemanı işleme katma ( İsmail’de bitir )
  4. window.alert( myArraySliced ); // Selami,Tarık,İsmail

Daha kolay bir anlatımla, 0 indeksli olmak üzere ( yani ilk elemanımız 0.eleman ), 2.elemandan itibaren, ( 2.de dahil ) toplam 3 eleman getir. ( 2 + 3 = 5 ) Bunun için slice( 2 , 5 ) dedik.

Eğer slice( 0 , -1 ) dersek, Array’in son elemanını atmış oluruz!

  1. var myArray = Array( 'Ali' , 'Veli' , 'Selami' , 'Tarık' , 'İsmail' , 'Cihangir' , 'Burak' );
  2. var myArraySliced = myArray.slice( 0 , -1 );
  3. window.alert( myArraySliced ); // Ali,Veli,Selami,Tarık,İsmail,Cihangir

Array.sort ( metod )

aryArray.sort( [fncCallBack] )

fncCallBack
( Opsiyonel ) Fonksiyon üzerinden sıralama yapmak için. *

Dizi içindeki elemanları sıralamak için kullanılır. Default olarak Ascending yani A’dan Z’ye çalışır.

  1. var myArray = Array( 'veli' , 'ali' , 'selami' );
  2. myArray.sort();
  3. window.alert( myArray ); // ali,selami,veli

Peki, sıralama yapmak istediğim elemanlar, TÜRKÇE olursa? İşte bu noktada fncCallBack devreye girer.

  1. function utfSort( a , b )
  2. {
  3.  return a.localeCompare( b ); // sihirli komut!
  4. }
  5. var myArray = Array( 'uğur' , 'çetin' , 'ömer' , 'ali' , 'ilhan' , 'cemal' , 'ılgın' , 'deniz' , 'Burak' , 'ğu' , 'ümit' , 'üzeyir' , 'xacvi' , 'yozi' );
  6. myArray.sort( utfSort );
  7.  
  8. window.alert( myArray );
  9. // ali,Burak,cemal,çetin,deniz,ğu,ılgın,ilhan,ömer,uğur

Array.splice ( metod )

aryArray.splice( [intStart], [intDeleteCount], [item1[, item2[, . . . [,itemN]]]] )

intStart
O indeksli element başlangıç
intDeleteCount
Başlangıçtan itibaren kaç element silinecek
item1 ...
( Opsiyonel ) İsteniyorsa, silinenlerin yerine yerleşecek element(ler)

Array’den parça almak, içinden birşeyleri silip yerine başka elementler koymak için kullanılır.

  1. var myArray = Array( 'veli' , 'ali' , 'selami' );
  2. myArray.splice( 0 ,1 );
  3. // 0.dan itibaren ( veli ) bir tane uçur...
  4. window.alert( myArray ); // ali,selami

yada;

  1. var myArray = Array( 'veli' , 'ali' , 'selami' );
  2. myArray.splice( 0 ,1 , 'vigo' );
  3. // 0.dan itibaren ( veli ) bir tane uçur ve yerine 'vigo' koy!
  4. window.alert( myArray ); // vigo,ali,selami

Array.unshift ( metod )

aryArray.unshift( [item1] [, item2 [, . . . [, itemN]]]] )

item1
Eklenecek element
item2...
( Opsiyonel ) N tane element ekler.

Array’in başına element(ler) ekler.

  1. var myArray = Array( 'veli' , 'ali' , 'selami' );
  2. myArray.unshift( 'vigo' );
  3. window.alert( myArray ); // vigo,veli,ali,selami

Diğer Metodlar

toLocaleString, toString ve valueOf diğer konularla ilgilidir. Bunları ileriki derslerde göreceğiz. keza toLocaleString dateObject ile ilgilidir.