Vòng lặp for theo thứ tự giảm dần javascript
Như tên gợi ý, phương thức này đảo ngược thứ tự của các phần tử mảng bằng cách sửa đổi mảng hiện có Show
cú pháp Ví dụ.
Sử dụng vòng lặp For giảm dần
Trong ví dụ trên, chúng ta sử dụng một vòng lặp giảm dần để duyệt qua mảng arr từ phía sau và lưu từng phần tử vào mảng mới arr1. Phương pháp này không sửa đổi mảng ban đầu Sử dụng Phương thức Unshift()
Phương pháp này rất giống với phương pháp trước và không sửa đổi mảng ban đầu. Thay vì sử dụng vòng lặp for, phương thức này sử dụng phương thức forEach() & unshift(). Phương thức forEach() thực hiện thao tác cho từng phần tử của mảng và phương thức unshift thêm phần tử mới vào đầu mảng Không sử dụng mảng mới hoặc phương thức reverse()Trong hai phương pháp trước, chúng tôi đã không sửa đổi mảng hiện có và lưu trữ các phần tử bị đảo ngược trong một mảng mới. Bây giờ, chúng ta sẽ xem làm thế nào một người có thể đảo ngược và sửa đổi một mảng hiện có mà không cần sử dụng phương pháp đảo ngược
Trong phương pháp này, chúng ta chỉ duyệt qua một nửa chiều dài của mảng đã cho và hoán đổi các phần tử theo khoảng cách bằng nhau từ phần tử đầu tiên và phần tử cuối cùng i, e, phần tử đầu tiên với phần tử cuối cùng và phần tử thứ hai với phần tử cuối cùng thứ hai, v.v. Phương thức 6 trả về các khóa được sắp xếp theo cách giống như đã cho bằng cách lặp qua các thuộc tính của đối tượng theo cách thủ côngChúng tôi đã sử dụng Mảng. phương thức đảo ngược để đảo ngược mảng khóa Phương thức 7 đảo vị trí các phần tử trong mảng và trả về kết quảNó không liên quan trong trường hợp này, nhưng lưu ý rằng phương thức 7 thay đổi nội dung của mảng ban đầuĐể tránh làm thay đổi mảng ban đầu, bạn thường phải tạo một bản sao trước khi gọi phương thức 7 CÂU HỎI–Nếu điều kiện dừng là BẰNG HOẶC LỚN HƠN 0, thì khi vòng lặp for bắt đầu, biến đã LỚN HƠN 0, vậy tại sao nó lại tiếp tục? Ví dụconst trái cây = ["Chuối", "Cam", "Táo", "Xoài"]; Định nghĩa và cách sử dụngPhương thức 7 đảo ngược thứ tự các phần tử trong mảngPhương thức 7 ghi đè lên mảng ban đầucú phápGiá trị trả vềMảng sau khi đảo ngượcHỗ trợ trình duyệt 7 là một tính năng ECMAScript1 (ES1)ES1 (JavaScript 1997) được hỗ trợ đầy đủ trên mọi trình duyệt ChromeEdgeFirefoxSafariOperaIECóCóCóCóCóCóHầu hết các nhà phát triển JS đều biết rằng việc tránh gọi Array sẽ hiệu quả hơn. độ dài trên mỗi lần lặp của một vòng lặp
Có một số cách xung quanh điều này. Phổ biến nhất là lưu trữ độ dài
Tôi thấy sẽ thanh lịch hơn một chút khi sử dụng trình vòng lặp giảm dần, khi tôi có thể ________số 8Điều này có thể được đơn giản hóa hơn nữa để
hoặc tốt hơn 0Các nhà phát triển mới làm quen sẽ có thể tìm ra điều gì đang xảy ra, nhưng luôn thận trọng khi đi chệch khỏi cú pháp chuẩn nhưng lý do cho điều này có thể khá phức tạp (chỉ đề cập đến, có các vấn đề về tiền xử lý lệnh của bộ xử lý và xử lý bộ đệm trong trò chơi) Về ngôn ngữ cấp cao, như JavaScript như bạn đã hỏi, bạn có thể tối ưu hóa mọi thứ nếu dựa vào các thư viện, hàm tích hợp để lặp. Hãy để họ quyết định cách thực hiện tốt nhất Do đó, trong JavaScript, tôi khuyên bạn nên sử dụng một cái gì đó như 1Nó cũng ít bị lỗi hơn và các trình duyệt có cơ hội tối ưu hóa mã của bạn [NHẬN XÉT. không chỉ trình duyệt mà bạn cũng có không gian để tối ưu hóa dễ dàng, chỉ cần xác định lại hàm 3 (phụ thuộc vào trình duyệt) để nó sử dụng thủ thuật tốt nhất mới nhất. . ) @MỘT. M. K. nói rằng trong những trường hợp đặc biệt, nên sử dụng 4 hoặc 20. Nếu bạn làm điều đó, hãy đặt nó sau bức màn. Quá mức cần thiết là thêm các tùy chọn vào 3 để chọn thuật toán lặp. ]Ngoài ra, đối với các ngôn ngữ cấp thấp, cách tốt nhất là sử dụng một số chức năng thư viện thông minh cho các hoạt động lặp, phức tạp nếu có thể Những thư viện đó cũng có thể đặt mọi thứ (đa luồng) sau lưng bạn và các lập trình viên chuyên biệt cũng luôn cập nhật chúng Tôi đã xem xét kỹ lưỡng hơn một chút và hóa ra là trong C/C++, ngay cả đối với các phép toán 5e9 = (50.000x100.000), không có sự khác biệt giữa tăng và giảm nếu thử nghiệm được thực hiện theo một hằng số . (Kết quả JsPerf đôi khi không nhất quán nhưng nhìn chung đều giống nhau. bạn không thể tạo ra sự khác biệt lớn. ) 22 tình cờ trở thành một thứ khá "sang trọng". Nó chỉ khiến bạn trông giống như một lập trình viên giỏi hơn. . )Mặt khác, để hủy đăng ký trong tình huống 5e9 này, tôi đã giảm thời gian từ 12 giây xuống còn 2. 5 giây khi tôi đi qua 10 giây và đến 2. 1 giây khi tôi đi qua 20 giây. Nó không có tối ưu hóa, và tối ưu hóa đã rút ngắn mọi thứ xuống một khoảng thời gian ngắn không thể đo lường được. . ) (Việc hủy đăng ký có thể được thực hiện theo cách của tôi ở trên hoặc sử dụng 6, nhưng điều đó không mang lại hiệu quả trong JavaScript. )Tất cả trong tất cả. giữ sự khác biệt của 24/ 6 và 8/ 6 đối với các cuộc phỏng vấn xin việc, tuân theo 28 hoặc các chức năng thư viện phức tạp khác nếu có. ;)
Làm cách nào để sử dụng vòng lặp for theo thứ tự ngược lại trong JavaScript?Lặp ngược một mảng trong JavaScript . Sử dụng vòng lặp for ngược. Cách tiếp cận tiêu chuẩn là lặp ngược lại bằng cách sử dụng vòng lặp for bắt đầu từ cuối mảng về phía đầu mảng. var mảng = [1, 2, 3, 4, 5];. Sử dụng mảng. nguyên mẫu. chức năng đảo ngược (). . Sử dụng mảng. nguyên mẫu. hàm reduceRight() Tại sao vòng lặp ngược?Có thể nhanh hơn hoặc có thể có cùng tốc độ, nhưng điều quan trọng là việc giật ngược giúp cả hai chúng ta dễ dàng suy nghĩ hơn . .
Vòng lặp nào nhanh hơn trong JavaScript?Bạn có thể thấy rằng vòng lặp for nhanh hơn 3 lần so với các phương thức mảng như forEach map và reduce. Khi nhận được một phần tử mảng, các phương thức mảng thực hiện hàm gọi lại cho từng phần tử.
Làm cách nào để đảo ngược thứ tự của một mảng trong JavaScript?Mảng JavaScript reverse()
. Phương thức reverse() ghi đè lên mảng ban đầu. |