Ecmascript5 mendefinisikan 5 metode iteratif untuk array. Setiap metode menerima dua parameter: fungsi yang akan dijalankan pada setiap item dan objek lingkup (opsional) yang menjalankan fungsi (mis. Nilai yang mempengaruhi ini). Fungsi yang diteruskan ke dalam metode ini menerima tiga parameter: nilai item array, posisi item dalam array, dan objek array itu sendiri. Bergantung pada metode penggunaan, nilai pengembalian setelah pelaksanaan fungsi ini dapat atau mungkin tidak mempengaruhi nilai pengembalian metode. 5 metode iteratif ini adalah:
Kelima metode iteratif menerima dua parameter: fungsi untuk dijalankan pada setiap item dan ruang lingkup fungsi berjalan (opsional)
Every (): Jalankan fungsi yang diberikan pada setiap item dalam array. Jika fungsi mengembalikan benar untuk setiap item, itu mengembalikan true.
Filter (): Menjalankan fungsi yang diberikan pada setiap item dalam array. Mengembalikan berbagai item yang akan mengembalikan true.
foreach (): menjalankan fungsi yang diberikan untuk setiap item dalam array. Fungsi tidak mengembalikan nilai.
MAP (): Jalankan fungsi yang diberikan pada setiap item dalam array. Mengembalikan fungsi yang terdiri dari hasil setiap panggilan fungsi.
beberapa (): Jalankan fungsi yang diberikan pada setiap item dalam array. Jika fungsi mengembalikan keduanya, itu mengembalikan true
Semua metode di atas tidak akan memodifikasi nilai yang terkandung dalam array.
Dalam metode di atas, setiap () dan beberapa () sangat mirip, keduanya digunakan untuk menanyakan apakah item dalam array memenuhi kondisi tertentu. Untuk metode Every (), fungsi yang dilewati harus mengembalikan true untuk setiap item sebelum metode ini mengembalikan true. Kalau tidak, ia kembali salah. Metode beberapa () mengembalikan true selama fungsi yang dilewati kembali benar ke item dalam array. Misalnya:
var nums = [1,2,3,4,5,4,3,2,1]; var result = nums.every (function (item, index, array) {return (item> 2);}) console.info (hasil);Kode di atas akan mencetak false di konsol.
var nums = [1,2,3,4,5,4,3,2,1]; var result = nums.some (fungsi (item, indeks, array) {return (item> 2);}) console.info (hasil);Kode di atas mencetak benar di konsol.
Berikut ini adalah contoh fungsi filter (), yang menggunakan fungsi yang ditentukan untuk menentukan apakah ada item dalam array yang dikembalikan. Misalnya, untuk mengembalikan array dengan semua nilai lebih dari 2, Anda dapat menggunakan kode berikut:
var nums = [1,2,3,4,5,4,3,2,1]; var result = nums.filter (fungsi (item, indeks, array) {return (item> 2);}) console.info (hasil); // [3,4,5,4,3]Kode di atas mengembalikan array yang berisi 3, 4, 5, 4, 3 dengan memanggil metode filter (). Metode ini sangat berguna untuk menanyakan semua array yang memenuhi kriteria tertentu.
Metode MAP () juga mengembalikan array, dan setiap item dalam array ini adalah hasil dari menjalankan fungsi yang masuk pada item yang sesuai dalam array asli. Misalnya, Anda dapat melipatgandakan setiap item dalam array dengan 2 dan kemudian mengembalikan array produk ini:
var nums = [1,2,3,4,5,4,3,2,1]; var result = nums.map (fungsi (item, indeks, array) {return item * 2;}) console.info (hasil); // [2,4,6,8,10,8,6,4,2]Metode MAP () cocok untuk membuat array yang berisi item satu per satu di array lain.
Yang terakhir adalah metode foreach (), yang hanya menjalankan fungsi yang dilewati pada setiap item dalam array. Metode ini tidak memiliki nilai pengembalian, pada dasarnya mengulangi array menggunakan loop untuk. Lihat contoh berikut:
var nums = [1,2,3,4,5,4,3,2,1]; nums.foreach (fungsi (item, indeks, array) {// Jalankan operasi yang diperlukan})Metode array di JS ini dapat sangat memfasilitasi pemrosesan tugas array dengan melakukan operasi yang berbeda.
Browser yang mendukung metode berulang ini adalah: IE9+, Firefox2+, Safari3+, Opera9.5+dan Chrome.
var angka = [1, 2, 3, 4, 5, 4, 3, 2, 1]; // Setiap () dan beberapa () paling mirip // setiap () item: item traversal saat ini, indeks: indeks item saat ini, array: objek array itu sendiri var everyresult = number.every (function (item, index, array) {return item> 2;}); alert (everyResult); // false // beberapa () var someresult = numbers.some (function (item, index, array) {return item> 2;}); alert (someresult); // true // filter var filterResult = numbers.filter (function (item, index, array) {return item> 2;}); alert (filterResult); // [3,4,5,4,3] // peta () var mapResult = numbers.map (fungsi (item, indeks, array) {return (item * 2);}); alert (MapResult); // [2,4,6,8,10,8,6,4,2] // foreach pada dasarnya tidak ada perbedaan dari untuk loop var foreachresult = numbers.fordeach (fungsi (item, indeks, array) {alert (item)});Di atas adalah semua tentang artikel ini. Saya berharap dapat memberi Anda beberapa tips untuk lebih memahami metode iterasi JavaScript.