Rumah hujung hadapan web tutorial js Array Ekstra di JavaScript

Array Ekstra di JavaScript

Feb 24, 2025 am 08:49 AM

Array Extras in JavaScript

Array JavaScript adalah struktur data asas dalam banyak bahasa pengaturcaraan, dan JavaScript tidak terkecuali. Untuk memudahkan banyak butiran bekerja dengan Arrays, JavaScript menyediakan satu set ciri yang dipanggil Fungsi Pelanjutan Array. Artikel ini memperkenalkan pelbagai fungsi lanjutan array dan kegunaan mereka.

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 dengan filter(), 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, manakala indexOf() berfungsi dengan cara yang sama, tetapi bermula pada akhir array. Kaedah lastIndexOf() 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

untuk merakam semua elemen array ke konsol debug.
var foo = ["a", "b", "c", "d"];

for (var i = 0, len = foo.length; i < len; i++) {
  console.log(foo[i]);
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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]);
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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);
});
Salin selepas log masuk
Salin selepas log masuk

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]"
Salin selepas log masuk

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/);
Salin selepas log masuk

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]);
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
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);
});
Salin selepas log masuk
Salin selepas log masuk
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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1667
14
Tutorial PHP
1273
29
Tutorial C#
1255
24
Enjin JavaScript: Membandingkan Pelaksanaan Enjin JavaScript: Membandingkan Pelaksanaan Apr 13, 2025 am 12:05 AM

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Dari C/C ke JavaScript: Bagaimana semuanya berfungsi Dari C/C ke JavaScript: Bagaimana semuanya berfungsi Apr 14, 2025 am 12:05 AM

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

JavaScript dan Web: Fungsi teras dan kes penggunaan JavaScript dan Web: Fungsi teras dan kes penggunaan Apr 18, 2025 am 12:19 AM

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

JavaScript in Action: Contoh dan projek dunia nyata JavaScript in Action: Contoh dan projek dunia nyata Apr 19, 2025 am 12:13 AM

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

Memahami Enjin JavaScript: Butiran Pelaksanaan Memahami Enjin JavaScript: Butiran Pelaksanaan Apr 17, 2025 am 12:05 AM

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Apr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Python vs JavaScript: Persekitaran dan Alat Pembangunan Python vs JavaScript: Persekitaran dan Alat Pembangunan Apr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

See all articles