Iterasi Array JavaScript

Metode iterasi array operasikan 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

Keterangan:Fungsi ini menerima 3 parameter:

  • Nilai objek
  • Indeks objek
  • Array itu sendiri

Contoh di atas hanya menggunakan parameter value. Contoh ini dapat ditulis ulang 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 pelayar mendukung Array.forEach(),kecuali untuk 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 array:

Contoh

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

Coba sendiri

Sila perhatikan bahwa fungsi ini memiliki 3 parameter:

  • Nilai objek
  • Indeks objek
  • 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 pelayar mendukung Array.map(),kecuali untuk 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 daripada 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 bahawa fungsi ini menerima 3 parameter:

  • Nilai objek
  • Indeks objek
  • 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 pelayar mendukung Array.filter(),kecuali untuk 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 dalam array. Lihat juga reduceRight().

reduce() Metode ini tidak akan mengurangi array asli.

Contoh ini menentukan sumbu angka seluruh 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

Sila perhatikan fungsi ini menerima 4 parameter:

  • Jumlah (nilai awal/nilai yang sebelumnya kembali)
  • Nilai objek
  • Indeks objek
  • Array itu sendiri

Pada contoh sebelumnya, parameter index dan array belum digunakan. Dapat ditulis kembali sebagai:

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 pelayar mendukung Array.reduce(),kecuali untuk 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 dalam array. Lihat juga reduce().

reduceRight() Metode ini tidak akan mengurangi array asli.

Contoh ini menentukan sumbu angka seluruh 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

Sila perhatikan fungsi ini menerima 4 parameter:

  • Jumlah (nilai awal/nilai yang sebelumnya kembali)
  • Nilai objek
  • Indeks objek
  • Array itu sendiri

Pada contoh sebelumnya, parameter index dan array belum digunakan. Dapat ditulis kembali sebagai:

Contoh

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

Coba sendiri

Semua pelayar mendukung Array.reduceRight(),kecuali untuk Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.every()

every() Metode mengecek apakah semua nilai array melalui tes.

Contoh ini mengecek apakah semua nilai array lebih besar daripada 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 bahawa fungsi ini menerima 3 parameter:

  • Nilai objek
  • Indeks objek
  • Array itu sendiri

Jika fungsi callback hanya menggunakan parameter pertama (nilai) saat ini, parameter lain dapat disingkirkan:

Contoh

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

Coba sendiri

Semua pelayar mendukung Array.every(),kecuali untuk Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

Array.some()

some() Metode mengecek apakah beberapa nilai array melalui tes.

Contoh ini mengecek apakah beberapa nilai array lebih besar daripada 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 bahawa fungsi ini menerima 3 parameter:

  • Nilai objek
  • Indeks objek
  • Array itu sendiri

Semua pelayar mendukung Array.some(),kecuali untuk 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 lokasinya.

Keterangan:Lokasi pertama projek adalah 0, lokasi kedua projek adalah 1, dan seterusnya.

Contoh

Cari projek "Apple" didalam array:

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

Coba sendiri

Semua pelayar mendukung Array.indexOf(),kecuali untuk Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

syarat

array.indexOf(item, mula)
item wajib. Projek yang hendak dicari.
mula pilihan. Dari mana mulai mencari. Nilai negatif akan mulai dari lokasi akhir dan mencari sampai akhir.

Jika projek tidak ditemukanArray.indexOf() Kembalikan -1.

Jika projek muncul beberapa kali, kembalikan lokasi pertama munculnya.

Array.lastIndexOf()

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

Contoh

Cari projek "Apple" didalam array:

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

Coba sendiri

Semua pelayar mendukung Array.lastIndexOf(),kecuali untuk Internet Explorer 8 atau versi yang lebih awal:

Ya 9.0 Ya Ya Ya

syarat

array.lastIndexOf(item, mula)
item wajib. Projek yang hendak dicari.
mula Pilihan. Dari mana mulai mencari. Nilai negatif akan mulai dari penggunaan posisi akhir dan mencari ke permulaan.

Array.find()

find() Method ini mengembalikan nilai elemen pertama array yang lulus tes fungsi.

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 bahawa fungsi ini menerima 3 parameter:

  • Nilai objek
  • Indeks objek
  • Array itu sendiri

Browser lama tidak mendukung Array.find()Berikut adalah versi paling awal browser yang mendukung kaedah ini:

45 12 25 8 32

Array.findIndex()

findIndex() Method ini mengembalikan indeks elemen pertama array yang lulus tes fungsi.

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 bahawa fungsi ini menerima 3 parameter:

  • Nilai objek
  • Indeks objek
  • Array itu sendiri

Browser lama tidak mendukung Array.findIndex()Berikut adalah versi paling awal browser yang mendukung kaedah ini:

45 12 25 8 32