Hướng dẫn which for loop is best in javascript? - vòng lặp for nào là tốt nhất trong javascript?

Tìm hiểu cái nào cho vòng lặp hoặc iterator phù hợp với yêu cầu của bạn và ngăn bạn phạm sai lầm ngớ ngẩn khiến hiệu suất ứng dụng của bạn phải trả giá.



URL: //javascript.plainenglish.io/which-type-of-loop-is-fastest-in-javascript-ec834a0f21b9

JavaScript là một cảm giác mới của phát triển web. Không chỉ các khung JS như NodeJS, React, Angular Vue, v.v. Nhưng, Vanilla JS cũng có một lượng lớn quạt. Hãy nói về JavaScript hiện đại. Các vòng lặp luôn là một phần lớn của hầu hết các ngôn ngữ lập trình. JS hiện đại cung cấp cho bạn rất nhiều cách để lặp lại hoặc lặp lại các giá trị của bạn.

Nhưng câu hỏi là bạn có thực sự biết vòng lặp hoặc lặp phù hợp nhất theo yêu cầu của bạn. Có rất nhiều tùy chọn có sẵn trong các vòng lặp, cho, cho (đảo ngược), cho ... của, foreach, cho ... in, cho ... chờ đợi. Bài viết này sẽ bao gồm một cuộc tranh luận như vậy.

Cái nào cho vòng lặp nhanh hơn?

Trả lời: cho (đảo ngược) for (reverse)

Điều đáng ngạc nhiên nhất là khi tôi thử nghiệm nó trên một máy địa phương, tôi bắt đầu tin rằng (đảo ngược) là nhanh nhất trong số tất cả các vòng lặp. Hãy để tôi chia sẻ một ví dụ. Lấy một mảng với hơn 1 triệu mục và thực hiện cho một vòng lặp.

*Tuyên bố miễn trừ trách nhiệm: Console.time () Độ chính xác kết quả phụ thuộc vào cấu hình hệ thống của bạn. Nhìn kỹ hơn về độ chính xác ở đây.*: console.time() result accuracy highly depends on your system configuration. Get a closer look at accuracy here.*

const million = 1000000; const arr = Array(million); console.time('⏳'); for (let i = arr.length; i > 0; i--) {} // for(reverse) :- 1.5ms for (let i = 0; i < arr.length; i++) {} // for :- 1.6ms arr.forEach(v => v) // foreach :- 2.1ms for (const v of arr) {} // for...of :- 11.7ms console.timeEnd('⏳');

Lý do: Ở đây, chuyển tiếp và đảo ngược cho vòng lặp mất gần như cùng một lúc. Chỉ cần có sự khác biệt 0,1ms là có vì (đảo ngược) tính toán biến bắt đầu, hãy để i = mảng.length chỉ một lần. Trong khi trong vòng lặp chuyển tiếp cho vòng lặp, nó kiểm tra điều kiện i

Chủ đề