Tatasusunan ialah asas kepada hampir semua data. Jika anda mempunyai dua atau lebih elemen daripada jenis yang sama, kemungkinan besar anda akan berakhir dengan tatasusunan. Memandangkan tatasusunan terdapat hampir di mana-mana, mengetahui cara memanipulasinya ialah salah satu kemahiran teras anda, tidak kira apa yang terkandung di dalamnya. Ini benar dalam hampir semua bidang pembangunan. Sama ada anda mengubah, menapis atau memeriksa data, kaedah tatasusunan adalah kunci.
Saya tidak mengharapkan pembangun menghafal setiap fungsi dan kefungsian bahasa atau API Web, tetapi saya mengharapkan anda mencari satu atau lebih cara untuk mengubah (memetakan), menghapuskan (menapis) dan mengubah (mengurangkan) ) tatasusunan.
Siri artikel ini akan membincangkan kaedah tatasusunan yang berbeza dan cara kami menggunakannya. Saya ingin mengetahui kaedah yang anda ingin pelajari atau bincangkan, jadi jika terdapat mana-mana kaedah khusus yang ingin anda bahas, sila beritahu saya.
Mari kita lihat beberapa kaedah prototaip tatasusunan dan fungsi yang mereka sediakan. Jadual berikut menyenaraikan tandatangan kaedah, termasuk butiran panggil balik. Ia menunjukkan kepada kami jenis pemulangan, sama ada respons mengandungi rekod untuk setiap input dan sama ada ia akan menjalankan panggilan balik untuk setiap entri dalam tatasusunan.
方法 | 返回值 | 一对一 | 对所有元素运行 |
---|---|---|---|
.map((value, index, array) => *) | 数组 | 是 | 是 |
.filter((value, index, array) => Boolean) | 数组 | 否 | 是 |
.reduce((accumulator, value, index, array) => *, optionalInitial) | * | 否 | 是 |
.find((value, index, array) => Boolean) | */undefined | 否 | 否 |
.some((value, index, array) => Boolean) | 布尔值 | 否 | 否 |
.every((value, index, array) => Boolean) | 布尔值 | 否 | 否 |
.forEach((value, index, array) => undefined) | undefined | N/A | 是 |
.sort((value1, value2) => Math.sign) | 数组 | 是 | **更多?** |
.flat(optionalDepth) | 数组 | 否 | 是 |
.flatMap((values, index, array) => *) | 数组 | 否 | 是 |
Prestasi tidak akan menjadi pertimbangan utama dalam usaha ini. Kami kadang-kadang menyentuhnya, tetapi untuk kebanyakan saiz data biasa biasanya tiada kesan prestasi yang ketara. Secara umum, anda harus menumpukan pada kebolehbacaan dan kebolehselenggaraan kod sebelum prestasi menjadi pertimbangan. Bekerja pada peranti dengan sumber terhad atau memproses set data yang sangat besar mengenakan beberapa had unik. Jika anda berminat untuk membincangkan isu prestasi dengan lebih lanjut, sila beritahu saya!
Dalam siri artikel ini, kami akan memecahkan kaedah tatasusunan individu dan membincangkan cara menggunakannya. Terdapat banyak cara biasa, kreatif dan "pandai" untuk menggunakan ini, dan kami akan cuba membincangkan beberapa perkara yang anda harus elakkan demi kebolehbacaan dan kebolehselenggaraan.
Atas ialah kandungan terperinci JavaScript: Tatasusunan ada di mana-mana. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!