JavaScript menyediakan cara untuk mengambil nilai dalam array satu per satu secara berurutan. Cara ini dikenal dengan istilah iterasi array. Umumnya iterasi array menggunakan fungsi callback. Baca tutorial sebelumnya untuk memahami fungsi callback.
Fungsi forEach
Fungsi forEach mempunyai parameter berupa fungsi callback. Fungsi callback akan dipanggil sekali untuk setiap isi array secara berurutan. Urutan pemanggilan dimulai dari urutan pertama (index 0) sampai urutan terakhir.
var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt = txt + value + "<br>";
}
Pada contoh di atas myFunction adalah fungsi callback. Fungsi ini dipanggil untuk setiap nilai dalam array. Fungsi ini mempunyai tiga parameter. Parameter pertama adalah nilai array yang sedang diakses. Parameter kedua adalah posisi atau index yang sedang diakses. Parameter ketiga adalah array itu sendiri.
Fungsi callback dapat memakai satu parameter saja. Parameter ini adalah nilai array yang sekarang diakses.
var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value) {
txt = txt + value + "<br>";
}
Fungsi map
Fungsi map melakukan iterasi pada suatu array dan mengembalikan array baru. Fungsi map mempunyai parameter berupa fungsi callback. Fungsi callback melakukan suatu perhitungan pada setiap nilai dalam array. Hasil perhitungan akan menjadi nilai pada array baru pada urutan (index) yang sama.
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
return value * 2;
}
Pada contoh di atas diperlihatkan nilai dalam array numbers1 tidak berubah. Fungsi map mengembalikan array baru yaitu numbers2.
Fungsi callback dapat memakai satu parameter saja. Parameter ini adalah nilai array yang sekarang diakses.
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value) {
return value * 2;
}
Fungsi filter
Fungsi filter melakukan iterasi pada suatu array dan mengembalikan array baru. Fungsi filter mempunyai parameter berupa fungsi callback. Fungsi callback melakukan filtering (menyaring) setiap nilai dalam array. Nilai pada array lama yang lolos penyaringan akan menjadi nilai pada array baru.
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
Contoh di atas memperlihatkan hanya nilai array lama (numbers) yang lebih besar dari 18 yang lolos penyaringan. Nilai array baru (over18) adalah semua nilai array lama yang lebih besar dari 18.
Fungsi callback dapat memakai satu parameter saja.
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value) {
return value > 18;
}
Fungsi indexOf
Fungsi indexOf digunakan untuk mencari posisi (index) elemen tertentu dalam array. Pencarian dimulai dar posisi pertama (index ke 0).
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
Fungsi indexOf bisa mempunyai dua parameter :
array.indexOf(item, start);
Parameter pertama adalah elemen yang dicari. Parameter kedua adalah posisi awal pencarian.
Fungsi lastIndexOf digunakan untuk mencari posisi (index) elemen tertentu dalam array. Pencarian dimulai dari posisi paling belakang.
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");
Fungsi lastIndexOfbisa mempunyai dua parameter :
array.lastIndexOf(item, start);
Parameter pertama adalah elemen yang dicari. Parameter kedua adalah posisi awal pencarian.
Fungsi find
Fungsi find digunakan untuk mencari elemen dalam array yang memenuhi kriteria tertentu. Fungsi find mempunyai parameter berupa fungsi callback. Fungsi callback memeriksa setiap elemen dalam array untuk kriteria tertentu. Apabila kriteria tersebut terpenuhi maka fungsi callback mengembalikan elemen tersebut.
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
Pada contoh di atas diperlihatkan fungsi find untuk mencari nilai pertama dalam array yang bernilai lebih dari 18.
Fungsi findIndex
Fungsi find digunakan untuk mencari urutan (index) elemen dalam array yang memenuhi kriteria tertentu. Fungsi find mempunyai parameter berupa fungsi callback. Fungsi callback memeriksa setiap elemen dalam array untuk kriteria tertentu. Apabila kriteria tersebut terpenuhi maka fungsi callback mengembalikan urutan (index) elemen tersebut.
var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
Tutorial sebelumnya : Mengurutkan Array
Tutorial setelahnya : JavaScript Tanggal
Semua Tutorial JavaScript : Tutorial JavaScript