mata utama
- Fungsi lanjutan array dalam JavaScript adalah fungsi yang memudahkan banyak butiran bekerja dengan tatasusunan, meningkatkan kebolehbacaan kod dengan menggantikan gelung kompleks dengan panggilan fungsi. Mereka termasuk kaedah seperti
- ,
forEach()
,map()
,filter()
,every()
,some()
,reduce()
,reduceRight()
,indexOf()
,lastIndexOf()
dan . -
Kaedah
forEach()
menghapuskan keperluan untuk gelung dan notasi subskrip array dengan memanggil fungsi panggil balik pada setiap elemen dalam array. Walau bagaimanapun, ia boleh menyebabkan kemerosotan prestasi kerana memanggil fungsi untuk setiap elemen. -
Fungsi
map()
forEach()
adalah serupa denganfilter()
, tetapi ia mengembalikan array yang mengandungi nilai -nilai yang dikembalikan oleh fungsi panggil balik. Kaedah juga mengembalikan pelbagai nilai, tetapi ia berdasarkan nilai pulangan fungsi panggil balik yang harus mengembalikan nilai boolean. -
Kaedah
reduce()
reduceRight()
memproses setiap elemen dalam array, mengira nilai tunggal, manakalaindexOf()
berfungsi dengan cara yang sama, tetapi bermula pada akhir array. KaedahlastIndexOf()
mencari unsur -unsur tertentu dalam array, dan juga melakukan perkara yang sama, tetapi memulakan pencarian dari akhir array.
latar belakang
for
Hampir semua operasi array dilakukan dengan melintasi setiap elemen array satu demi satu. Sebagai contoh, kod berikut menggunakan gelung
var foo = ["a", "b", "c", "d"]; for (var i = 0, len = foo.length; i < len; i++) { console.log(foo[i]); }
Pertama dan yang paling penting, anda harus memahami bahawa contoh sebelumnya adalah kod JavaScript yang sah. Walau bagaimanapun, jika anda mempunyai beberapa gelung kompleks, pembolehubah penjejakan boleh menjadi membosankan. Fungsi pelanjutan array membolehkan kami menggantikan keseluruhan gelung dengan panggilan fungsi, yang biasanya dapat meningkatkan kebolehbacaan kod. Sekarang, mari kita lihat pelbagai fungsi lanjutan array.
foreach ()
forEach()
Seperti banyak fungsi lanjutan array, kaedah adalah fungsi yang lebih tinggi fungsi-fungsi yang menerima fungsi lain sebagai parameter. forEach()
Daripada melintasi elemen array, fungsi panggil balik dipanggil pada setiap elemen dalam urutan. Fungsi panggil balik menerima tiga parameter -elemen array semasa, indeks array, dan array itu sendiri. Dalam kod berikut, contoh asal telah ditulis semula untuk menggunakan kaedah forEach()
.
var foo = ["a", "b", "c", "d"]; for (var i = 0, len = foo.length; i < len; i++) { console.log(foo[i]); }
Perhatikan bahawa menggunakan forEach()
menghapuskan keperluan untuk notasi Loop dan Array Subscript. Di samping itu, sejak JavaScript menggunakan skop peringkat fungsi, fungsi panggilan balik forEach()
menyediakan skop baru yang membolehkan penggunaan semula nama berubah. Satu -satunya kelemahan adalah kehilangan prestasi yang ditanggung dengan memanggil fungsi untuk setiap elemen dalam array. Nasib baik, kerugian ini sering diabaikan. Juga ambil perhatian bahawa anda boleh lulus parameter pilihan ke forEach()
selepas fungsi panggil balik. Jika ada, parameter kedua mentakrifkan nilai this
yang digunakan dalam fungsi panggil balik.
peta ()
Fungsi map()
hampir sama dengan forEach()
. Satu -satunya perbezaan ialah map()
mengembalikan array yang mengandungi nilai yang dikembalikan oleh fungsi panggil balik. Sebagai contoh, kod berikut menggunakan map()
untuk mengira akar kuadrat setiap item dalam array input. Kemudian kembalikan hasilnya sebagai array dan paparkannya. Juga ambil perhatian bahawa fungsi lanjutan array bersesuaian dengan fungsi JavaScript terbina dalam seperti Math.sqrt()
.
["a", "b", "c", "d"].forEach(function(element, index, array) { console.log(element); });
penapis ()
seperti forEach()
dan map()
, kaedah filter()
menerima fungsi panggilan balik dan pilihan this
pilihan. Dan, seperti map()
, filter()
mengembalikan pelbagai nilai berdasarkan nilai pulangan fungsi panggil balik. Perbezaannya ialah fungsi panggil balik filter()
harus mengembalikan nilai boolean. Jika nilai pulangan adalah benar, tambahkan elemen array ke array hasil. Sebagai contoh, kod berikut membuang sebarang elemen dalam array asal yang tidak bermula dengan huruf x. Dalam contoh ini, ungkapan biasa (diluluskan sebagai nilai this
) akan diuji untuk setiap elemen array.
var sqrts = [1, 4, 9, 16, 25].map(Math.sqrt); console.log(sqrts); // 显示 "[1, 2, 3, 4, 5]"
setiap () dan beberapa ()
Fungsi every()
dan some()
juga menjalankan fungsi panggil balik pada setiap elemen array. Jika setiap fungsi panggil balik kembali benar, every()
mengembalikan benar, jika tidak palsu. Begitu juga, jika sekurang -kurangnya satu fungsi panggil balik kembali benar, some()
kembali benar. Dalam contoh berikut, every()
dan some()
digunakan untuk menguji sama ada elemen array kurang daripada lima. Dalam kes ini, every()
mengembalikan palsu kerana elemen terakhir adalah sama dengan lima. Walau bagaimanapun, some()
kembali benar kerana sekurang -kurangnya satu elemen kurang daripada lima. Perhatikan bahawa parameter indeks dan array wujud, tetapi telah ditinggalkan dari fungsi panggil balik, kerana ia tidak diperlukan dalam contoh ini.
["x", "abc", "x1", "xyz"].filter(RegExp.prototype.test, /^x/);
Kurangkan () dan reduceright ()
Kaedah reduce()
memproses setiap elemen dalam array (bermula dari awal) dan mengira satu nilai. reduce()
lebih suka fungsi panggil balik dan nilai permulaan pilihan sebagai parameter. Jika tiada nilai awal wujud, elemen array pertama digunakan. reduce()
Fungsi panggil balik adalah berbeza dari fungsi panggilan balik lain yang telah kita lihat setakat ini kerana ia menerima empat parameter -nilai sebelumnya, nilai semasa, indeks, dan array. Contoh umum operasi reduce
adalah untuk menambah semua nilai array. Contoh berikut betul -betul ini. Apabila fungsi panggil balik dipanggil untuk kali pertama, previous
sama dengan 1 dan current
sama dengan 2. Dalam panggilan berikutnya, jumlah itu berkumpul ke nilai akhir 15.
var foo = ["a", "b", "c", "d"]; for (var i = 0, len = foo.length; i < len; i++) { console.log(foo[i]); }Kaedah
reduceRight()
berfungsi dengan cara yang sama seperti reduce()
, kecuali bahawa proses bermula dari akhir array dan bergerak ke arah permulaan.
indexOf () dan lastIndexof ()
Kaedah indexOf()
mencari elemen tertentu dalam array dan mengembalikan indeks perlawanan pertama. Jika tiada perlawanan dijumpai, indexOf()
pulangan -1. indexOf()
sila elemen yang akan dicari sebagai parameter pertama. Parameter pilihan kedua menentukan indeks permulaan carian. Sebagai contoh, kod berikut mencari dua kejadian pertama huruf Z dalam array. Untuk mencari penampilan kedua, kita hanya perlu mencari penampilan pertama dan mula mencari semula selepas itu.
["a", "b", "c", "d"].forEach(function(element, index, array) { console.log(element); });Kaedah
lastIndexOf()
berfungsi dengan cara yang sama, kecuali ia mula mencari dari akhir array.
Kesimpulan
Gunakan fungsi lanjutan array untuk menulis kod ringkas dan jelas. Malangnya, beberapa pelayar yang lebih tua tidak menyokong kaedah ini. Walau bagaimanapun, anda boleh mengesan kaedah ini dengan memeriksa objek Array.prototype
(iaitu Array.prototype.forEach
). Jika kaedah hilang, anda boleh dengan mudah memberikan pelaksanaan anda sendiri.
(bahagian Soalan Lazim harus ditambah di sini, kandungannya sama dengan bahagian FAQ dalam teks input, tetapi pengubahsuaian pseudo-asal yang sepadan, seperti menyesuaikan perintah pernyataan, menggantikan sinonim, dan sebagainya)
Atas ialah kandungan terperinci Array Ekstra di JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Jenis data teras JavaScript adalah konsisten dalam penyemak imbas dan node.js, tetapi ditangani secara berbeza dari jenis tambahan. 1) Objek global adalah tetingkap dalam penyemak imbas dan global di Node.js. 2) Objek penampan unik Node.js, digunakan untuk memproses data binari. 3) Terdapat juga perbezaan prestasi dan pemprosesan masa, dan kod perlu diselaraskan mengikut persekitaran.

JavaScriptusestWotypesofcomments: Single-line (//) danMulti-line (//)

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Dreamweaver Mac版
Alat pembangunan web visual

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod
