Monday, June 18, 2012

lastIndexOf()

Metode Array.lastIndexOf() melakukan pencarian dari kanan ke kiri terhadap elemen tertentu yang pertama kali di temui di dalam array.

Sintaks:

arrayObj.lastIndexOf(searchElement, fromIndex)
  • searchElement menetapkan elemen array yang akan dicari.
  • fromIndex menetapkan indeks awal pencarian di mulai, jika paramater fromIndex dihilangkan, maka awal pencarian di mulai dari elemen yang mempunyai indeks terakhir di dalam array.

Metode Array.lastIndexOf() mengembalikan bilangan bulat yang menunjukkan indeks elemen yang di cari dan ditemukan, jika elemen yang di cari tidak ditemukan, -1 dikembalikan.

Metode Array.lastIndexOf() adalah metode standard JavaScript 1.6+ dan di dukung Google Chrome Beta+, Firefox 1.5 (Gecko 1.8)+, Safari 3.0+.

Contoh di bawah ini mencoba mencari elemen "Budi" dan elemen "Tini" di dalam array namesArr, setelah dijalankan masing-masing mengembalikan 5 dan -1:

var namesArr = new Array("Tono", "Tini", "Tini", "Titin", "Budi", "Budi", "Wati"); alert(namesArr.lastIndexOf("Budi")); // 5 alert(namesArr.lastIndexOf("Tini", 0)); // -1
  • Untuk pencarian "Budi" ditemukan dan berada pada indeks ke 5. Meskipun pada indeks ke 4 ada "Budi" juga, dia tidak termasuk, karena arah pencariannya dari kanan ke kiri dan elemen yang cocok adalah elemen yang pertama kali ditemukan, dan "Budi" yang berada pada indeks ke 5 itulah elemen yang cocok dan elemen yang pertama kali ditemukan.
  • Untuk pencarian "Tini" tidak ditemukan, karena terhitung dari indeks ke 0 ke kiri tidak ada elemen "Tini" (elemen "Tini" berada pada indeks ke 1 dan ke 2):

Ilustrasi untuk ["Tono","Tini","Titin","Budi","Wati"]:

Sebagai contoh jika mencari "Budi" menggunakan Array.indexOf() dan menetapkan indeks awal pencarian pada indeks ke 1 ("Tini"), maka awal pencarian di mulai dari "Tini" ke kanan. Coba lihat yang diberi warna merah, itu area pencariannya. Berdasarkan area pencarian, untuk "Budi" ditemukan dan berada diindeks ke 3, karena pencariannya di mulai dari "Tini" ke kanan.

["Tono","Tini", "Titin", "Budi", "Wati"]

Jika mencari "Budi" menggunakan Array.lastIndexOf() dan menetapkan indeks awal pencarian pada indeks ke 1 ("Tini"), maka awal pencarian di mulai dari "Tini" ke kiri. Coba lihat yang diberi warna merah, itu area pencariannya. Berdasarkan area pencarian, "Budi" tidak ditemukan, karena pencariannya di mulai dari "Tini" ke kiri.

["Tono","Tini", "Titin", "Budi", "Wati"]