Memahami Kaedah Array Iterator dalam JS: penapis, peta dan kurangkan

王林
Lepaskan: 2024-07-22 21:08:12
asal
548 人浏览过

Understanding Array Iterator Methods in JS: filter, map, and reduce

JavaScript mempunyai kaedah lelaran terbina dalam untuk transformasi tatasusunan. Mari analisa filter(), map(), dan reduce() serta syarat yang harus digunakan.

Array.filter()

Ia mencipta tatasusunan baharu dengan semua elemen yang lulus ujian yang dilaksanakan oleh fungsi yang disediakan. Ia memanggil fungsi panggil balik yang disediakan sekali untuk setiap elemen dalam tatasusunan dan mengembalikan tatasusunan baharu bagi semua nilai yang mana fungsi panggil balik kembali benar.

Sintaks

filter(callbackFn)
filter(callbackFn, thisArg)
Salin selepas log masuk

Ia menilai kepada: Array.filter((elemen, indeks, tatasusunan) => { ... } )

Panggil balikFn ialah fungsi untuk melaksanakan bagi setiap elemen dalam tatasusunan yang sepatutnya mengembalikan nilai sebenar untuk mengekalkan elemen tatasusunan yang terhasil dan nilai palsu sebaliknya. Fungsi ini mengambil tiga argumen: elemen semasa, indeks dan tatasusunan itu sendiri.

Dalam contoh di bawah, diberikan tatasusunan nombor dan dijangka mencari nombor genap, kaedah penapis() akan digunakan seperti yang ditunjukkan:

const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // Output: [2, 4, 6]
Salin selepas log masuk

Array.map()

Kaedah map() mencipta tatasusunan baharu yang diisi dengan hasil panggilan fungsi yang disediakan pada setiap elemen dalam tatasusunan semasa. Ia menggunakan fungsi panggil balik hanya untuk indeks tatasusunan yang telah menetapkan nilai dan tidak digunakan untuk slot kosong.

Sintaks

map(callbackFn)
map(callbackFn, thisArg)
Salin selepas log masuk

Ini hanya diterjemahkan kepada: Arrays.map((elemen, indeks, tatasusunan) => { ... })

Panggil balikFn ialah fungsi untuk melaksanakan bagi setiap elemen dalam tatasusunan dan nilai pulangan ditambah sebagai satu elemen dalam tatasusunan baharu.
Fungsi ini mengambil tiga argumen: elemen semasa, indeks dan tatasusunan itu sendiri.

Memandangkan susunan nombor dan dijangka mengembalikan petaknya, kaedah map() akan paling berkesan seperti yang ditunjukkan di bawah:

const numbers = [1, 2, 3, 4, 5];
const squareNumbers = numbers.map(number => number ** 2);
console.log(squareNumbers); // Output: [1, 4, 9, 16, 25]
Salin selepas log masuk

Kami sedang memetakan nilai satu tatasusunan kepada tatasusunan yang lain.

Array.reduce()
Kaedah reduce() menjalankan pengurang fungsi panggil balik pada setiap elemen tatasusunan, dalam susunan indeks menaik, menghantar nilai pulangan daripada pengiraan elemen sebelumnya. Hasil akhir menjalankan pengurang merentas semua elemen tatasusunan ialah satu nilai.

Jika nilai awal diberikan, ia akan digunakan sebagai hujah pertama dalam panggilan pertama panggilan balik. Jika tiada nilai awal diberikan, elemen pertama tatasusunan digunakan sebagai nilai awal, maka lelaran akan bermula dari elemen kedua.

Sintaks

reduce(callbackFn)
reduce(callbackFn, initialValue)
Salin selepas log masuk

Panggil balikFn ialah fungsi untuk melaksanakan bagi setiap elemen dalam tatasusunan. Nilai pulangannya menjadi nilai parameter penumpuk pada panggilan balik seterusnya. Untuk seruan terakhir, nilai pulangan menjadi nilai pulangan fungsi reduce().
Ia memerlukan hujah berikut: accumulator, currentValue, currentIndex dan tatasusunan yang digunakan.

Menggunakan tatasusunan nombor dan ditugaskan untuk mencari jumlahnya, kaedah reduce() akan menilai dengan mudah seperti yang ditunjukkan di bawah:

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // Output: 15
Salin selepas log masuk

Kesimpulan
Kaedah penapis(), map() dan reduce() ini penting untuk lelaran dan manipulasi tatasusunan.

  • filter() paling sesuai digunakan untuk mencari semua elemen dalam tatasusunan tertentu yang memenuhi kriteria fungsi panggil balik.

  • map() ialah kaedah tatasusunan tidak merosakkan yang terbaik digunakan untuk memanipulasi data dalam tatasusunan tertentu dan mengharapkan nilai pulangan.

  • reduce() berguna untuk mengagregatkan elemen tatasusunan menjadi satu nilai berdasarkan fungsi pengurang.

Rujukan

  • Dokumen Web MDN pada Array.prototype.filter

  • Dokumen Web MDN pada Array.prototype.map

  • Dokumen Web MDN pada Array.prototype.reduce

以上是Memahami Kaedah Array Iterator dalam JS: penapis, peta dan kurangkan的详细内容。更多信息请关注PHP中文网其他相关文章!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!