Contoh 1
Memanggil fungsi untuk setiap elemen dalam buah
const buah = ["apel", "jeruk", "ceri"];
buah-buahan. forEach(myFunction);
Definisi dan Penggunaan
Metode forEach()_ memanggil fungsi untuk setiap elemen dalam array
Metode forEach()_ tidak dieksekusi untuk elemen kosong
Sintaksis
Himpunan. forEach(function(currentValue, index, arr), thisValue)
Parameter
fungsi() DiperlukanFungsi untuk dijalankan untuk setiap elemen array. CurrentValueRequired
Nilai elemen saat ini. indexOptional
Indeks elemen saat ini. arrOptional
Array dari elemen saat ini. thisValueOptional. Bawaan undefined
Nilai yang diteruskan ke fungsi sebagai nilai this nya
Nilai Pengembalian
Lebih Banyak Contoh
Hitung jumlahnya
biarkan jumlah = 0;
angka const = [65, 44, 12, 4];
angka. forEach(myFunction);
function myFunction(item) {
jumlah += barang;
}
Kalikan setiap elemen
angka const = [65, 44, 12, 4];
angka. forEach(myFunction)
function myFunction(item, index, arr) {
arr[indeks] = item * 10;
}
Dukungan Peramban
forEach() adalah fitur ECMAScript5 (ES5).
ES5 (JavaScript 2009) didukung penuh di semua browser
ChromeEdgeFirefoxSafariOperaIEYaYaYaYa9-11Tak perlu dikatakan bahwa mayoritas pengkodean berurusan dengan loop. Ada semua jenis loop dengan segala macam sintaks yang berbeda. Sangat menantang untuk memahami semuanya, tetapi bagian dari menjadi mahir dalam pemrograman adalah mengetahui sintaks apa yang digunakan, terutama bila ada banyak pilihan. Satu loop dalam javascript adalah forEach loop. Ini digunakan untuk mengulang array. Ini memberikan sintaksis yang bagus, tetapi masalah muncul saat kami mencoba sedikit lebih rumit, seperti keluar dari lingkaran. Mari pelajari cara keluar dari loop forEach di javascript.
Daftar Isi
Cara Keluar dari forEach Loop di Javascript
Secara resmi, tidak ada cara yang tepat untuk keluar dari loop forEach di javascript. Menggunakan sintaks break yang sudah dikenal akan menimbulkan kesalahan. Jika memutus loop adalah sesuatu yang benar-benar Anda butuhkan, sebaiknya pertimbangkan untuk menggunakan loop tradisional.
Mari kita lihat cuplikan kode berikut
let data = [ {name: 'Rick'},{name: 'Steph'},{name: 'Bob'} ] data.forEach(obj => { console.log(obj.name) if (obj.name === 'Steph') { break; } }) CopiedAnda akan mengharapkan kode untuk berhenti mengeksekusi setelah menemukan nama "Steph";
Larutan
Seperti kebanyakan hal dalam pemrograman, tentu saja ada solusinya. Kita bisa membuang dan menangkap pengecualian saat mengulang array kita. Mari kita lihat bagaimana kita bisa mencapai ini.
let data = [ {name: 'Rick'},{name: 'Steph'},{name: 'Bob'} ] try { data.forEach(obj => { console.log(obj.name) if (obj.name === 'Steph') { throw 'Break'; } }) } catch (e) { if (e !== 'Break') throw e } Copied _Seperti yang Anda lihat di sini, kami menggabungkan pernyataan forEach kami dalam blok try catch. Saat kami biasanya melakukan istirahat, kami melakukan “lemparan ‘Istirahat’“
Kami kemudian melompat ke tangkapan kami dan memeriksa apa kesalahan kami. Jika itu selain "Break", kami membuangnya ke rantai kesalahan. Jika tidak, kami melanjutkan eksekusi kode kami.
Meskipun solusi ini berhasil, itu tidak terlalu bersih. Mari kita lihat beberapa alternatif yang lebih baik
Alternatif #1. for…of loop (Diutamakan)
for…of loop akan menjadi solusi yang lebih disukai untuk masalah ini. Ini memberikan sintaks yang mudah dibaca dan juga memungkinkan kita menggunakan break sekali lagi.
let data = [ {name: 'Rick'},{name: 'Steph'},{name: 'Bob'} ] for (let obj of data) { console.log(obj.name) if (obj.name === 'Steph') break; } CopiedManfaat tambahan lainnya menggunakan for…of loop adalah kemampuan untuk melakukan operasi menunggu di dalamnya. Kami tidak akan dapat menggunakan sintaks menunggu dalam forEach loop
Alternatif #2. setiap
Kita juga bisa menggunakan prototipe array “every”. Mari kita lihat cuplikan kode itu
let data = [ {name: 'Rick'},{name: 'Steph'},{name: 'Bob'} ] data.every(obj => { console.log(obj.name) return !(obj.name === 'Steph') }) CopiedSetiap prototipe akan menguji setiap elemen terhadap fungsi kita dan mengharapkan pengembalian boolean. Ketika nilai dikembalikan salah, loop akan rusak. Dalam hal ini, kami membalik tes nama kami dan mengembalikan salah ketika namanya sama dengan "Steph", loop terputus, dan kami melanjutkan kode kami.
Alternatif #3. beberapa
Sangat mirip dengan setiap prototipe, kita juga dapat menggunakan prototipe array "beberapa". Beberapa prototipe hampir identik dengan setiap prototipe. Satu-satunya perbedaan adalah bahwa pengembalian yang sebenarnya akan memutus loop. Mari kita lihat kodenya.
let data = [ {name: 'Rick'},{name: 'Steph'},{name: 'Bob'} ] data.some(obj => { console.log(obj.name) return (obj.name === 'Steph') }) Copied _Anda dapat melihat bahwa fungsi mengembalikan nilai true ketika mencapai nama "Steph" dan menghentikan perulangan. Apakah Anda memilih beberapa atau setiap sepenuhnya bergantung pada apa yang menurut Anda paling mudah dibaca
Anda sekarang tahu cara keluar dari loop forEach di Javascript. Anda memiliki beberapa solusi alternatif dan juga solusi utama. Pilih opsi yang paling sesuai dengan kasus penggunaan Anda. Ingat, keterbacaan kode sangat penting, jadi pilihlah dengan bijak. Selamat Coding