Ia bukan sahaja diperlukan untuk pembangun untuk menyelesaikan tugas, tetapi ia juga perlu untuk melakukan tugas dengan cara yang lebih cekap. Terdapat beberapa perpustakaan yang tersedia dalam JavaScript hari ini yang menjadikan kerja dengan pembolehubah lebih mudah untuk pembangun. Kami akan mempelajari cara menggunakan fungsi perpustakaan Lodash yang paling biasa dalam tutorial ini.
Jika anda belum mencuba Lodash, inilah masanya. Lodash ialah pakej utiliti JavaScript kontemporari yang memudahkan kerja dengan tatasusunan, integer, objek, teks dan jenis data lain dengan lebih mudah.
Ia akan membantu anda dalam menangani pelbagai jenis objek dan akan menjimatkan masa anda dengan menghapuskan keperluan untuk kod kaedah generik. Kod anda akan menjadi lebih bersih dengan lebih sedikit baris dan akan berfungsi dalam semua penyemak imbas. Jika anda belum menggunakannya, anda harus mempertimbangkannya dengan teliti.
Tidak menggunakan Lodash adalah satu kerugian besar untuk pangkalan kod JavaScript kami. Ia adalah penyelesaian yang bebas pepijat dan elegan untuk cabaran biasa yang kami hadapi di tempat kerja, dan menggunakannya hanya akan menjadikan kod kami lebih mudah dibaca dan diurus.
Mari kita mendalami beberapa fungsi Lodash yang lebih popular (atau tidak!) dan temui betapa berguna dan cantiknya perpustakaan ini.
1. _.sortedUniq
Semua nilai pendua tidak akan dikembalikan dengan nilai ini. Kerana ia hanya untuk tatasusunan yang diisih, ini digunakan terutamanya atas sebab kelajuan. Ini hanya berguna jika anda berurusan dengan array yang besar. Jika anda ingin meningkatkan kelajuan, susun tatasusunan anda dan gunakan kaedah yang berfungsi lebih baik dengan tatasusunan yang diisih.
Lodash mempunyai beberapa fungsi lain yang serupa dengan ini. Anda boleh melihat .sortedIndex, .sortedIndexBy, .sortedIndexOf, .sortedLastIndex, .sortedLastIndexBy, .sortedLastIndexOf, .sortedUniq, .sortedUniqBy, .sortedUniqBy, .qy.
2. _.mengurangkan
_.reduce adalah serupa dengan fungsi penapis. Satu-satunya perbezaan ialah anda mempunyai pilihan untuk memilih bentuk objek yang dikembalikan. Biasalah, kalau awak tak faham apa yang saya cakap; ada contoh untuknya.
Pada dasarnya, kami mengembalikan objek baharu yang mengandungi pengguna yang dikelaskan mengikut umur, tetapi hanya untuk mereka yang berumur 18 hingga 59 tahun. Fungsi pembantu Lodash ini adalah salah satu yang paling biasa digunakan. Ia juga termasuk dalam ES6. Saya juga ingin menunjukkan dua kesilapan biasa: ingat untuk mengembalikan hasil pada akhir fungsi, dan membekalkan nilai lalai untuk hasilnya sebagai parameter ketiga (di sini).
3. _.dapat dan ._set
Untuk yang ini, saya akan menipu anda dengan menunjukkan dua fungsi yang melakukan perkara yang hampir sama. _.get mengembalikan nilai hartanah daripada objek, dan _.set, baiklah, anda menekanya, tetapkan harta dengan nilai. Tiada apa-apa yang unik, kecuali anda boleh mengakses harta melalui laluannya.
Mari kita lihat satu contoh.
Jika laluan tidak wujud semasa memanggil _.set, ia akan dijana. Tidak akan ada lagi ralat "Tidak dapat menetapkan 'item' harta yang tidak ditentukan". Jika laluan tidak wujud, _.get akan kembali tidak ditentukan dan bukannya ralat. Jika laluan diselesaikan kepada tidak ditentukan, anda juga boleh membekalkan nilai lalai (parameter ketiga).
4. _.cari
Daripada menggelung melalui tatasusunan untuk mencari objek tunggal, kita boleh menggunakan _.find. Itu bagus, tetapi ia bukan satu-satunya perkara yang boleh dilakukan oleh _.find. Dengan satu baris kod, anda juga boleh menemui objek dengan menggunakan banyak sifat. Semak ia keluar!
5. _.keyBy
Salah satu kegemaran saya ialah _.keyBy. Ia agak berguna apabila cuba mendapatkan objek dengan atribut tertentu. Andaikan kami mempunyai 100 entri blog dan ingin mengambil entri dengan id "34abc." Bagaimana kita akan melakukannya? Mari lihat apa yang berlaku! Kaedah ini boleh membantu anda mengatur koleksi objek jika pelayan menyediakannya sebagai tatasusunan. Fungsi juga boleh digunakan sebagai hujah kedua.
6. _.forEach
Kaedah ini akan berulang pada tatasusunan objek satu demi satu, membolehkan anda melakukan apa sahaja logik yang anda mahu. Dalam contoh pertama ini, saya akan melingkari senarai objek pengguna, menggabungkan nama pertama dan nama keluarga mereka untuk mencipta sifat baharu yang dipanggil nama penuh.
untukSetiap ini menerima dua parameter. Tatasusunan yang kita gelungkan ialah parameter pertama. Argumen kedua ialah fungsi lelaran, dengan parameter pertama ialah rujukan item individu dan yang kedua ialah indeks semasa lelaran.
7. _.peta
Peta, seperti forEach, berulang merentasi pelbagai nilai. Fungsi peta, sebaliknya, mengembalikan tatasusunan nilai baharu yang disediakan oleh fungsi lelaran. Kami menggunakan koleksi pengguna yang sama seperti dalam contoh forEach kami di sini. Kami mungkin menggunakan _.map untuk menjana pembolehubah baharu yang mempunyai tatasusunan rata bagi semua nama lengkap pengguna.
8. _.perbezaan
Fungsi perbezaan akan menghasilkan tatasusunan nilai baharu yang berbeza antara tatasusunan pertama dan kedua. Adalah penting untuk ambil perhatian bahawa lokasi hujah mempengaruhi hasil.
9. _.dapat
Fungsi _.get() boleh membantu kita dalam mencari elemen dalam objek. Kita boleh menetapkan nilai lalai untuk fungsi _.get() untuk kembali jika elemen tidak ditemui pada laluan yang dibekalkan. Fungsi _.get() mengambil tiga parameter, yang pertama ialah objek dari mana kita ingin mendapatkan elemen. Laluan adalah yang kedua. Nilai ketiga ialah nilai lalai yang ingin kami kembalikan jika elemen tidak dapat dikesan.
10. _.cari
Fungsi _find() mungkin kelihatan sama dengan kaedah _.get(). Fungsi _.find(), seperti kaedah _.get(), menerima tiga parameter. Walau bagaimanapun, tidak seperti kaedah _.get(), argumen pertama boleh menjadi tatasusunan atau objek. Argumen kedua menentukan fungsi yang akan dipanggil pada setiap lelaran. Input ketiga ialah indeks permulaan koleksi. Kerana fungsi _.find() berulang pada setiap elemen dalam koleksi.
11. _.kumpulanOleh
Cipta objek yang dinamakan berdasarkan hasil fungsi (atau nama sifat yang dipilih secara rawak), dengan setiap nilai ialah tatasusunan objek dengan kunci yang sama.
12. _.set
Kaedah _.set() ialah songsang bagi kaedah _.get(). Ia akan mengubah nilai elemen pada laluan tertentu. Objek atau tatasusunan ialah parameter pertama, laluan adalah yang kedua, dan nilai yang anda ingin tetapkan ialah yang ketiga.
13. _.bercantum
Ia berfungsi sama dengan Object.assign, kecuali ia berulang jauh ke dalam struktur asas untuk mengemas kini objek yang lebih dalam dan bukannya menggantikannya.
14. ._deburr
Ini adalah contoh yang agak mudah. Semua "menggabungkan tanda diakritik" dialih keluar. Oleh itu "é" menjadi "e". Apabila terdapat pengantarabangsaan dan penyetempatan, adalah amalan yang baik untuk menyahburkan teks untuk fungsi carian.
15. _.debounce
Ini adalah salah satu strategi Lodash yang paling berkesan. Mungkin juga sukar untuk memahami apa yang dilakukannya dan bila anda harus menggunakannya. Kaedah _.debounce() mengembalikan fungsi. Fungsi kaedah _.debounce() akan menangguhkan invokasi sehingga bilangan milisaat tertentu telah berlalu sejak fungsi kali terakhir digunakan.
Kesimpulan
Lodash ialah sambungan kuat bahasa JavaScript. Dengan usaha yang minimum, seseorang boleh membina kod yang ringkas dan cekap. Lodash juga modular sepenuhnya. Walaupun beberapa fungsinya akhirnya mungkin ditamatkan, saya percaya ia masih akan memberikan banyak manfaat kepada pembangun sambil turut memacu evolusi bahasa JS.
Saya harap beberapa keupayaan Lodash ini membantu anda melihat betapa hebatnya Lodash apabila bekerja dengan tatasusunan, objek dan koleksi. Anda boleh melawat dokumentasi untuk meneroka pelbagai pilihan lain yang ditawarkannya.
Sila tinggalkan balasan anda