Seperti yang dapat kita lihat pada gambar, RxSwift jauh lebih lambat daripada fungsi bawaan dan juga loop for-in. Solusi fungsi bawaan adalah 5. 14x lebih cepat dari RxSwift dan solusi for-in loop adalah 12. 21x lebih cepat dari RxSwift Show Tolong, jangan gunakan RxSwift saat Anda perlu bekerja dengan data dalam jumlah besar KesimpulanMenurut kasus uji, tidak ada salahnya menggunakan fungsi tingkat tinggi saat kita TIDAK perlu merantainya. Performanya jauh lebih baik (1. 63x lebih cepat) saat kami menggunakan fungsi peta bawaan atau sedikit lebih baik/lebih buruk saat kami menggunakan filter/perkecil bawaan Jika kita ingin menggabungkan fungsi tingkat tinggi, kita harus mempertimbangkan untuk tidak menggunakannya dan mengimplementasikannya sebagai solusi for-in loop. Performanya jauh lebih baik, 2. 37x lebih cepat (dalam contoh artikel ini) daripada fungsi bawaan Tidak perlu selalu menggunakan elemen, struktur, atau fungsi modern dari bahasa modern hanya karena sintaksnya terlihat lebih baik atau semua orang menggunakannya. Kompleksitas waktu dan ruang jauh lebih penting daripada sintaksis modern dan pada akhirnya, sintaksis mewah tidak membuat kita menjadi pengembang yang lebih baik, meskipun kita mungkin berpikir demikian Ada berbagai cara untuk mengulang array dalam JavaScript, tetapi mungkin sulit untuk memilih yang tepat. Ada JavaScript klasik untuk loop, metode JavaScript forEach, dan for…of loop, yang diperkenalkan pada edisi keenam EcmaScript (ES6), memungkinkan programmer untuk mengulang objek iterable yang sebenarnya. Loop menawarkan cara cepat dan mudah untuk melakukan sesuatu berulang kali. Dalam bab ini, saya akan membahas berbagai pernyataan iterasi yang tersedia di JavaScript dan juga mana yang akan dieksekusi dengan cepat dan memberikan kinerja yang lebih baik Loop untuk mengulangi array
Untuk mengulang larik, mari buat larik dengan 50000 elemen untuk menghitung waktu eksekusi. kita dapat membuat array yang berisi 50.000 elemen dengan dua pendekatan untuk putaranJenis paling dasar dari metode iterasi dalam JavaScript adalah for loop. Dibutuhkan tiga ekspresi;
mari hitung waktu eksekusi dengan menggunakan untuk… dari loopPernyataan
mari kita periksa waktu eksekusi untuk untukSetiap putaranMetode Waktu eksekusi mari kita ulangi array dengan forEach dan periksa waktu eksekusi Sekarang saatnya untuk memeriksa waktu eksekusi untuk ketiga metode perulangan. Eksekusi javascript sangat bergantung pada berbagai faktor seperti jenis sistem operasi seperti Windows dan jenis browser seperti Chrome, IE, Firefox Hasilnya cukup menarik dan tidak seperti yang saya harapkan Pengulangan for tradisional adalah yang tercepat, jadi Anda harus selalu menggunakannya, bukan? . Jarang Anda perlu mengulang lebih dari 1 juta item di aplikasi JS frontend. Keterbacaan Kode biasanya lebih penting, jadi default ke gaya yang sesuai dengan aplikasi Anda Jika Anda lebih suka menulis kode fungsional, maka forEach ideal, sedangkan for-of bagus jika sebaliknya. Baris kode yang lebih sedikit berarti waktu pengembangan yang lebih singkat dan biaya perawatan yang lebih sedikit — optimalkan untuk kebahagiaan developer terlebih dahulu, kemudian kinerja Beberapa fungsi yang paling disukai dalam JavaScript mungkin ________ 34 _______ dan _______ 35 _______. Keduanya mulai ada sejak ECMAScript 5, atau Dalam posting ini, saya akan berbicara tentang perbedaan utama antara masing-masing dan menunjukkan kepada Anda beberapa contoh penggunaannya Sebelum membaca Pada dasarnya, pengulangan objek dalam JavaScript bergantung pada apakah objek tersebut adalah ________34 _______ dan _______ 35 _______ termasuk dalam const arr = [1];1, jadi kita tidak perlu memikirkan iterable . Jika Anda ingin mempelajari lebih lanjut, saya sarankan Anda memeriksa objek iterable apa yang ada di JavaScriptApakah const arr = [1];4 dan const arr = [1];5?
Loop const arr = [1];8 telah bersama kami sejak awal era JavaScript. Dibutuhkan 3 ekspresi. nilai awal, kondisi, dan ekspresi akhir Ini adalah cara klasik untuk mengulang array. Sejak ECMAScript 5, fungsi baru muncul untuk membuat kita lebih bahagia peta
const arr = [1];8, kecuali bahwa map membuat larik baru dengan hasil pemanggilan fungsi yang disediakan pada setiap elemen dalam larik pemanggilDibutuhkan dua parameter. fungsi panggilan balik yang akan dipanggil nanti saat [1,2,3].map(d => d + 1); // [2, 3, 4]; 4 yang akan digunakan fungsi panggilan balik saat dipanggilFungsi panggilan balik dapat digunakan seperti di bawah ini arr.map((str) => { console.log(Number(str)); }) _Hasil dari const arr = [1]; Anda juga dapat meneruskan objek ke [1,2,3].map(d => d + 1); // [2, 3, 4]; 4Objek [1,2,3].map(d => d + 1); // [2, 3, 4]; _8 menjadi [1,2,3].map(d => d + 1); // [2, 3, 4]; 4 untuk map . Tapi fungsi callback panah tidak bisa mendapatkan [1,2,3].map(d => d + 1); // [2, 3, 4]; 8 sebagai [1,2,3].map(d => d + 1); // [2, 3, 4]; 4Ini karena fungsi panah bekerja secara berbeda dari fungsi normal. Kunjungi artikel ini untuk melihat perbedaan antara fungsi panah dan fungsi normal untuk setiap_______ 35 _______ adalah fungsi perulangan lain untuk array tetapi ada perbedaan antara [1,2,3].map(d => d + 1); // [2, 3, 4]; 4 yang mereka gunakan sebagai thisLalu, apa bedanya?
[1,2,3].map(d => d + 1); // [2, 3, 4]; ~~ Sunting ~~
[{a: 1, b: 2}, {a: 10, b: 20}].forEach((obj) => obj.a += 1); Contoh di atas adalah dari Kenny Martin Rguez. Terima kasih. 👏 Kapan Menggunakan map() dan forEach()?Karena perbedaan utama di antara mereka adalah ada atau tidaknya nilai pengembalian, Anda ingin menggunakan Ini adalah contoh sederhana Dalam React, misalnya, Di sisi lain, subjects.filter(subject => mySubjectId.includes(subject.id)).length; 7subjects.filter(subject => mySubjectId.includes(subject.id)).length; Untuk meringkas, saya sarankan Anda menggunakan Perbandingan Kecepatan Beberapa posting menyebutkan Kodenya terlihat sangat mirip tetapi hasilnya sebaliknya. Beberapa tes mengatakan Mungkin Anda mengatakan pada diri sendiri bahwa Tapi satu hal yang pasti — keduanya lebih lambat daripada fitur bawaan JavaScript, const arr = [1];8 loop Kesimpulan
Tapi satu keynote yang sangat penting untuk diingat adalah memahami apa yang dilakukan masing-masing dan kapan menggunakannya
Apakah map lebih cepat daripada for loop di Javascript?Anda dapat melihat bahwa for loop 3 kali lebih cepat daripada metode array seperti forEach map dan reduce . Setelah menerima elemen array, metode array menjalankan fungsi callback untuk setiap elemen.
Apakah map lebih cepat daripada for loop?map() bekerja jauh lebih cepat daripada for loop . Mempertimbangkan kode yang sama di atas saat dijalankan dalam ide ini. Menggunakan peta().
Mengapa peta lebih baik daripada for loop?map melakukan hal yang persis sama seperti yang dilakukan for loop, kecuali bahwa map membuat larik baru dengan hasil pemanggilan fungsi yang disediakan pada setiap elemen dalam larik pemanggilan< . .
Apakah peta Javascript lambat?map() melakukan beberapa logika tambahan yang memperlambatnya secara signifikan dibandingkan dengan for loop mentah . |