Monday, June 18, 2012

indexOf()

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

Sintaks:

arrayObj.indexOf(searchElement, fromIndex)
  • searchElement menetapkan elemen array yang akan di cari.
  • fromIndex (opsional) menetapkan indeks awal pencarian di mulai, jika fromIndex dihilangkan, maka awal pencarian di mulai pada indeks ke 0.

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

Metode Array.indexOf() 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 3 dan -1:

var namesArr = new Array("Tono", "Tini", "Titin", "Budi", "Wati"); alert(namesArr.indexOf("Budi")); // 3 alert(namesArr.indexOf("Tini", 2)); // -1
  • Untuk pencarian "Budi" ditemukan dan berada pada indeks ke 3.
  • Untuk pencarian "Tini" tidak ditemukan, karena terhitung dari indeks ke 2 dan setelahnya tidak ada "Tini" ("Tini" berada pada indeks ke 1):

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 di beri warna merah, itu area pencariannya. Berdasarkan area pencarian, untuk "Budi" ditemukan dan berada di indeks 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 di beri warna merah, itu area pencariannya. Berdasarkan area pencarian, "Budi" tidak ditemukan, karena pencariannya di mulai dari "Tini" ke kiri.

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