Iterasi Array JavaScript

Metode iterasi array melakukan operasi untuk setiap item array.

Array.forEach()

forEach() Metode ini memanggil fungsi sekali untuk setiap elemen array (fungsi callback).

Contoh

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value, index, array) {
  txt = txt + value + "<br>"; 
}

Coba Sendiri

catatan:Fungsi ini menerima 3 parameter:

  • Nilai item
  • Indeks item
  • Array itu sendiri

Contoh di atas hanya menggunakan parameter value. Contoh ini dapat ditulis kembali seperti ini:

Contoh

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value) {
  txt = txt + value + "<br>"; 
}

Coba Sendiri

semua browser mendukung Array.forEach()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.map()

map() Metode ini membuat array baru dengan menjalankan fungsi untuk setiap elemen array.

map() Metode ini tidak menjalankan fungsi untuk elemen array tanpa nilai.

map() Metode ini tidak akan mengubah array asli.

Contoh ini menggandakan setiap nilai di dalam array:

Contoh

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
  return value * 2;
}

Coba Sendiri

Silakan perhatikan bahwa fungsi ini memiliki 3 parameter:

  • Nilai item
  • Indeks item
  • Array itu sendiri

Ketika fungsi callback hanya menggunakan parameter value, parameter indeks dan array dapat disingkirkan:

Contoh

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value) {
  return value * 2;
}

Coba Sendiri

semua browser mendukung Array.map()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.filter()

filter() Metode ini membuat array baru yang mengandung elemen array yang melalui tes.

Contoh ini membuat array baru dengan elemen yang nilai lebih besar dari 18:

Contoh

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Coba Sendiri

Perhatikan bahwa fungsi ini menerima 3 parameter:

  • Nilai item
  • Indeks item
  • Array itu sendiri

Dalam contoh di atas, fungsi callback tidak menggunakan parameter index dan array, jadi dapat disingkirkan:

Contoh

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value) {
  return value > 18;
}

Coba Sendiri

semua browser mendukung Array.filter()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.reduce()

reduce() Metode ini menjalankan fungsi di setiap elemen array untuk menghasilkan (mengurangkannya) nilai tunggal.

reduce() Metode ini bekerja dari kiri ke kanan di dalam array. Lihat pula reduceRight().

reduce() Metode ini tidak akan mengurangi array asli.

Contoh ini menentukan total seluruh angka di dalam array:

Contoh

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value, index, array) {
  return total + value;
}

Coba Sendiri

Silakan perhatikan bahwa fungsi ini menerima 4 parameter:

  • jumlah total (nilai awal/nilai yang sebelumnya kembali)
  • Nilai item
  • Indeks item
  • Array itu sendiri

di contoh sebelumnya belum menggunakan parameter index dan array. Dapat diubah menjadi:

Contoh

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value) {
  return total + value;
}

Coba Sendiri

reduce() Metode ini dapat menerima nilai awal:

Contoh

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction, 100);
function myFunction(total, value) {
  return total + value;
}

Coba Sendiri

semua browser mendukung Array.reduce()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.reduceRight()

reduceRight() Metode ini menjalankan fungsi di setiap elemen array untuk menghasilkan (mengurangkannya) nilai tunggal.

reduceRight() Metode ini bekerja dari kanan ke kiri di dalam array. Lihat pula reduce().

reduceRight() Metode ini tidak akan mengurangi array asli.

Contoh ini menentukan total seluruh angka di dalam array:

Contoh

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value, index, array) {
  return total + value;
}

Coba Sendiri

Silakan perhatikan bahwa fungsi ini menerima 4 parameter:

  • jumlah total (nilai awal/nilai yang sebelumnya kembali)
  • Nilai item
  • Indeks item
  • Array itu sendiri

di contoh sebelumnya belum menggunakan parameter index dan array. Dapat diubah menjadi:

Contoh

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
  return total + value;
}

Coba Sendiri

semua browser mendukung Array.reduceRight()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.every()

every() metode memeriksa apakah semua nilai array melalui tes.

contoh ini memeriksa apakah semua nilai array lebih besar dari 18:

Contoh

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Coba Sendiri

Perhatikan bahwa fungsi ini menerima 3 parameter:

  • Nilai item
  • Indeks item
  • Array itu sendiri

jika fungsi callback hanya menggunakan parameter pertama (nilai), parameter lain dapat disimpulkan:

Contoh

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value) {
  return value > 18;
}

Coba Sendiri

semua browser mendukung Array.every()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.some()

some() metode memeriksa apakah beberapa nilai array melalui tes.

contoh ini memeriksa apakah beberapa nilai array lebih besar dari 18:

Contoh

var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Coba Sendiri

Perhatikan bahwa fungsi ini menerima 3 parameter:

  • Nilai item
  • Indeks item
  • Array itu sendiri

semua browser mendukung Array.some()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.indexOf()

indexOf() metode mencari nilai elemen di dalam array dan mengembalikan posisinya.

catatan:posisi proyek pertama adalah 0, posisi proyek kedua adalah 1, dan seterusnya.

Contoh

Cari proyek di dalam array "Apple":

var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

Coba Sendiri

semua browser mendukung Array.indexOf()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

gramata

array.indexOf(item, mulai)
item diperlukan. Proyek yang akan dicari.
mulai opsional. Dari mana mulai mencari. Nilai negatif akan mulai dari posisi yang ditentukan di akhir dan mencari ke akhir.

jika proyek tidak ditemukanArray.indexOf() kembalikan -1.

jika proyek muncul beberapa kali, kembalikan posisi pertama penampilannya.

Array.lastIndexOf()

Array.lastIndexOf() dengan Array.indexOf() seperti, tetapi mencari dari akhir array.

Contoh

Cari proyek di dalam array "Apple":

var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");

Coba Sendiri

semua browser mendukung Array.lastIndexOf()kecuali Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

gramata

array.lastIndexOf(item, mulai)
item diperlukan. Proyek yang akan dicari.
mulai Pilihan. Dari mana mulai mencari. Nilai negatif akan mulai dari akhir dan mencari ke awal.

Array.find()

find() Metode ini mengembalikan nilai elemen pertama array yang melampaui fungsi tes.

Contoh ini mencari (mengembalikan) nilai pertama elemen yang lebih besar daripada 18:

Contoh

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Coba Sendiri

Perhatikan bahwa fungsi ini menerima 3 parameter:

  • Nilai item
  • Indeks item
  • Array itu sendiri

Browser lama tidak mendukung Array.find()Berikut ini adalah daftar versi browser yang mendukung metode ini penuh:

45 12 25 8 32

Array.findIndex()

findIndex() Metode ini mengembalikan indeks elemen pertama array yang melampaui fungsi tes.

Contoh ini mencari indeks pertama elemen yang lebih besar daripada 18:

Contoh

var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

Coba Sendiri

Perhatikan bahwa fungsi ini menerima 3 parameter:

  • Nilai item
  • Indeks item
  • Array itu sendiri

Browser lama tidak mendukung Array.findIndex()Berikut ini adalah daftar versi browser yang mendukung metode ini penuh:

45 12 25 8 32