Cái nào nhanh hơn vòng lặp for trong JavaScript?
Tất cả chúng ta đều biết rằng vòng lặp for nhanh hơn so với hàm for each hoặc javascript vì bên dưới các hàm javascript có thể đang sử dụng vòng lặp for hoặc thứ gì đó khác mà tôi không chắc. Tôi đã thực hiện một thử nghiệm đơn giản với một mảng đối tượng và thực hiện một số thao tác thông qua vòng lặp for/cho mỗi hàm javascript và quan sát thời gian cần thiết để thực thi Show 1. Giảm so với vòng lặp so với foreach_______0_______
Tất cả các kết quả cho thấy rõ ràng rằng vòng lặp for thành thạo hơn for each so với map/reduce/filter/findBản đồ/Giảm/Lọc/Tìm bị chậm vì nhiều lý do, một số trong số đó là
Nhưng việc lựa chọn cách sử dụng không chỉ phụ thuộc vào hiệu suất mà còn có nhiều yếu tố khác cần được xem xét, một số trong số đó là
Cá nhân tôi thích bản đồ, rút gọn, lọc, tìm và tôi đã sử dụng chúng trong một thời gian dài. Họ đã giúp tôi viết mã rõ ràng, chính xác, nhanh chóng và phù hợp với quá trình suy nghĩ của tôi. Tôi sử dụng vòng lặp for khi không còn lựa chọn nào khác Đối với tối ưu hóa, ánh xạ/giảm/bộ lọc/tìm thay thế phải là tùy chọn cuối cùng hoặc không phải là tùy chọn tùy thuộc vào mức độ tối ưu hóa được yêu cầu
Cập nhật. Tại đây bạn có thể tìm thấy kết quả cho tập dữ liệu lớn và tính toán nặng Tôi viết bài trên overflowjs. com và phần 2 của bài viết này so sánh bộ nhớ cache ấm của ramada inline caching và một số nội dung của GC. Vì vậy, đừng quên theo dõi trên overflowjs. com Vui lòng cân nhắc nhập email của bạn tại đây nếu bạn muốn được thêm vào danh sách email của tôi và theo dõi tôi trên phương tiện để đọc thêm bài viết về javascript và trên github để xem mã điên rồ của tôi. Nếu có gì chưa rõ hoặc muốn chỉ ra điều gì, hãy comment xuống bên dưới Trong bài viết này, chúng ta sẽ xem cách nhanh nhất để lặp qua một mảng trong JavaScript. JavaScript có sẵn rất nhiều vòng lặp để thực hiện các phép lặp. Các vòng lặp sau đây cùng với cú pháp của chúng được hỗ trợ bởi JavaScript cho vòng lặp. Một vòng lặp for bao gồm một khởi tạo biến, một điều kiện để đánh giá biến và một biểu thức để xác định kết thúc của vòng lặp. Nó thực hiện một số lần lặp cố định, do đó nó phải được sử dụng trong các tình huống mà số lần lặp lại của vòng lặp đã được biết trước // for loop that performs 10k iterations for (let i = 0; i < 10000; i++) { // Statements } Trong trường hợp mảng // Loop that runs up till the length // of the array for (i = 0; i < array.length; i++) { // Statements } trong khi lặp lại. Một vòng lặp while thực hiện khởi tạo bên ngoài, trước khi bắt đầu vòng lặp, sau đó một điều kiện được xác thực và sau đó biểu thức được đánh giá. Việc thực hiện vòng lặp while tiếp tục cho đến khi thỏa mãn điều kiện Vòng lặp while trong trường hợp mảng, hãy làm theo cú pháp // Initialization let x = 0; // Condition checking while (x <= arr.length+1) { // Increment x += 1; } vòng lặp forEach(). Mỗi phần tử của mảng phải chịu một chức năng thực hiện một số hoạt động hoặc nhiệm vụ. Hàm được chỉ định làm tham số của phương thức forEach trong JavaScript. Nó thực hiện các tác vụ hiệu quả cao khi yêu cầu mã chức năng. Về cơ bản, đây là một chức năng gọi lại phụ thuộc nhiều vào hoạt động được thực hiện bên trong // Evaluation is performed element // wise of the array let arr = [] arr.forEach((ele) => { // Statements }) cho…của vòng lặp. Đây là phiên bản mới của vòng lặp for. Vòng lặp này yêu cầu gán tên tạm thời cho từng phần tử của mảng. Nó chạy cực nhanh trong trường hợp tập dữ liệu nhỏ. Nó dễ đọc hơn nhiều so với vòng lặp for truyền thống. Nó thực hiện một phép lặp trên các đối tượng lặp có sẵn của JavaScript như Chuỗi, Bản đồ, Tập hợp và Mảng Cái nào nhanh hơn vòng lặp for?Hiểu danh sách nhanh hơn vòng lặp for để tạo danh sách.
Vòng lặp nhanh nhất trong JavaScript là gì?Vòng lặp nhanh nhất là vòng lặp for, cả khi có và không có độ dài bộ nhớ đệm đều mang lại hiệu suất thực sự giống nhau. . Vòng lặp while với số lần giảm khoảng 1. Chậm hơn 5 lần so với vòng lặp for Một vòng lặp sử dụng chức năng gọi lại (như forEach tiêu chuẩn), chậm hơn khoảng 10 lần so với vòng lặp for Cái nào nhanh hơn forEach hay for loop JavaScript?forEach Loop
. Nó chậm hơn so với vòng lặp truyền thống về hiệu suất. Câu lệnh break có thể được sử dụng để thoát khỏi vòng lặp. Không thể sử dụng câu lệnh break vì chức năng gọi lại.
Vòng lặp nào nhanh hơn vòng lặp for?vòng lặp while là vòng lặp nhanh nhất. |