Hướng dẫn is there a foreach loop in javascript? - có một vòng lặp foreach trong javascript không?


Vòng lặp JavaScript forEach là một phương thức mảng thực thi chức năng gọi lại tùy chỉnh trên mỗi mục trong một mảng. Vòng lặp forEach chỉ có thể được sử dụng trên các mảng, bộ và bản đồ.


Nếu bạn đã dành bất kỳ thời gian nào xung quanh một ngôn ngữ lập trình, bạn nên thấy một trò chơi cho vòng lặp. Sử dụng một vòng lặp For, bạn có thể chạy qua một tập hợp dữ liệu hoặc một hàm trong một số lần nhất định. Ví dụ: bạn có thể có một danh sách các tên, còn được gọi là một mảng và một vòng lặp sẽ trải qua 100 tên đó.

Có một cách hiệu quả hơn để viết một vòng lặp cho vòng lặp nếu bạn đang làm việc với một bộ sưu tập, như một danh sách hoặc một bộ. Đó là nơi mà các vòng lặp JavaScript Foreach xuất hiện. Một vòng lặp foreach sẽ chạy chức năng gọi lại JavaScript cho mỗi mục trong một danh sách. Sau đó, vòng lặp dừng lại.

Hướng dẫn is there a foreach loop in javascript? - có một vòng lặp foreach trong javascript không?

Tìm Bootcamp của bạn phù hợp

  • Karma nghề nghiệp phù hợp với bạn với bootcamp công nghệ hàng đầu
  • Truy cập các học bổng và khóa học chuẩn bị độc quyền

Chọn mối quan tâm của bạn họ Tên điện thoại Email Tên của bạn
First name

Last name

Email

Phone number

Bằng cách tiếp tục, bạn đồng ý với các điều khoản dịch vụ và chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận được các ưu đãi và cơ hội từ Karma nghề nghiệp qua điện thoại, tin nhắn văn bản và email.

JavaScript cho bồi dưỡng vòng lặp for Loop Refresher

Hướng dẫn is there a foreach loop in javascript? - có một vòng lặp foreach trong javascript không?

JavaScript cho Loop thực thi hàm một số lần được xác định trước. Đối với các vòng lặp là hữu ích nếu bạn cần chạy cùng một khối mã nhiều lần. Sử dụng một vòng lặp thay vì sao chép mã của bạn giúp giảm dự phòng. Điều này cải thiện khả năng đọc của một cơ sở mã.

Hãy để Viết một vòng lặp in một giá trị cho bảng điều khiển mười lần:

for (i = 0; i <10; i++) {
	console.log(“test”)
}

Vòng lặp này sẽ thực thi dòng mã console.log(“test”) mười lần, một lần cho mỗi lần vòng lặp được thực thi.

Cái này hoạt động ra sao? Vòng lặp được chia thành ba thành phần.

Thành phần đầu tiên là i = 0. Đây là nơi chúng tôi xác định một biến JavaScript theo dõi số lần vòng lặp của chúng tôi đã được chạy.

Tiếp theo, mã I <10 xác định số lần vòng lặp sẽ được chạy (trong trường hợp này là 10). Thành phần I ++ thực thi sau mỗi lần lặp. Thành phần này thêm một vào bộ đếm biến I I I.

Vòng lặp JavaScript forEach

Foreach là một phương pháp mảng JavaScript. Nó được sử dụng để thực thi một hàm trên mỗi mục trong một mảng. Danh sách, bộ và tất cả các đối tượng giống như danh sách khác hỗ trợ phương thức Foreach.

Chúng tôi sẽ viết một vòng lặp hiển thị một danh sách các công ty vào bảng điều khiển. Thay vì sử dụng một vòng lặp cho vòng lặp, chúng tôi sẽ sử dụng một vòng lặp foreach. Điều này là do chúng tôi đang làm việc với một danh sách các công ty.

Mã sau đây in từng giá trị từ danh sách các công ty đến bảng điều khiển:

const companies = ["Apple", "Google", "Facebook"];

companies.forEach(company => {
	console.log(company);
});

Đầu ra của chúng tôi cho mã của chúng tôi như sau:

Đối với mỗi mục trong danh sách của các công ty trên mạng của chúng tôi, chúng tôi in ra mục vào bảng điều khiển. Điều này khác với cách thức hoạt động thường xuyên cho vòng lặp.

Hướng dẫn is there a foreach loop in javascript? - có một vòng lặp foreach trong javascript không?

"Karma nghề nghiệp bước vào cuộc sống của tôi khi tôi cần nó nhất và nhanh chóng giúp tôi kết hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi tìm thấy công việc mơ ước của mình phù hợp với các giá trị và mục tiêu của tôi trong cuộc sống!"

Sao Kim, Kỹ sư phần mềm tại Rockbot

JavaScript foreach vs cho vòng lặp

Trong một vòng lặp truyền thống, bạn sẽ phải truy cập từng mục trong danh sách của các công ty trên mạng bằng cách lập chỉ mục danh sách. Một vòng lặp foreach cho phép bạn truy cập trực tiếp vào từng mục trong một mảng.

Lập chỉ mục là nơi bạn chỉ định số chỉ mục của giá trị bạn muốn truy cập trong danh sách. Số chỉ mục này có thể được lấy từ bộ đếm mà A cho vòng lặp chứa. Chúng tôi đã thảo luận về quầy này trước đó.

Với một vòng lặp foreach, chúng tôi có thể truy cập từng mục trong danh sách của chúng tôi riêng lẻ. Trong ví dụ cuối cùng của chúng tôi, chúng tôi đã tạo ra biến đổi của công ty. Biến này đại diện cho một công ty cá nhân mà vòng lặp foreach của chúng tôi đã lặp lại.

Các vòng lặp ForEach chấp nhận chức năng gọi lại trong khi đối với các vòng lặp không. Trong một vòng lặp, tất cả mã của bạn được đặt trong phần chính của vòng lặp. Trong một vòng lặp foreach, bạn phải viết một hàm sẽ được thực thi cho từng mục trong danh sách mà bạn đang lặp lại.

JavaScript forebacks

Phương thức Foreach chấp nhận chức năng gọi lại. Đây là một chức năng được chuyển vào một chức năng khác như một đối số. Các hàm gọi lại được thực thi bên trong hàm mà chúng xuất hiện.

Hãy để Lùi trở lại ví dụ cuối cùng của chúng tôi:

companies.forEach(company => {
	console.log(company);
});

Hàm gọi lại của chúng tôi xuất hiện sau mũi tên (=>). Mũi tên này biểu thị một hàm mũi tên. Nhưng, các hàm gọi lại không cần phải là hàm mũi tên.

Chúng ta có thể xác định chức năng mà chúng ta muốn thực thi ở nơi khác:

const companies = ["Apple", "Google", "Facebook"];

function printValue(company) {
	console.log(company);
});

companies.forEach(printValue);

Trong mã này, chúng tôi đã xác định một hàm mới gọi là printValue. Chúng tôi đã chuyển chức năng này vào vòng lặp foreach của chúng tôi như một lập luận.

Hàm này được xác định độc lập với vòng lặp foreach của chúng tôi. Mã của chúng tôi hoạt động vì vòng lặp foreach chấp nhận bất kỳ loại chức năng nào. Chúng tôi không cần chỉ định chức năng mũi tên.

Ưu điểm của phương pháp này là mã của chúng tôi dễ đọc hơn. Rõ ràng là hàm printValue () được thực thi cho từng mục trong danh sách của các công ty.

Theo dõi chỉ mục hiện tại

Chúng tôi có thể theo dõi giá trị chỉ mục của mục danh sách chúng tôi đang xem với phương thức Foreach. Chúng tôi có thể làm điều này bằng cách chỉ định một biến số chỉ mục trên mạng trong chức năng gọi lại của chúng tôi.

Chúng tôi đã quyết định rằng chúng tôi muốn xem cả chỉ số của công ty và nội dung của mặt hàng chúng tôi đang xem. Điều này có thể đạt được bằng cách thêm một biến số chỉ số của người dùng:

const companies = ["Apple", "Google", "Facebook"];

function printValue(company, index) {
	console.log(`${index}. ${company});
});

companies.forEach(printValue);

Hãy cùng chạy mã của chúng tôi và xem điều gì sẽ xảy ra:

0. Apple

1. Google

2. Facebook

Chúng ta có thể thấy cả tên của mỗi công ty và giá trị chỉ số của nó. Biến chỉ số của người Viking đại diện cho từng giá trị chỉ mục.

Chỉ số có thể được đặt tên là bất cứ điều gì bạn muốn, miễn là nó xuất hiện sau biến đầu tiên trong cuộc gọi lại của bạn. Biến đầu tiên được bảo lưu để theo dõi mục mà vòng lặp đang lặp lại.

Sử dụng các trường hợp của JavaScript foreach

Bạn nên sử dụng phương pháp Foreach nếu bạn muốn lặp lại các mục mảng. Các phương thức bản đồ () và giảm () hiệu quả hơn nếu bạn cần tính toán kết quả tùy thuộc vào các giá trị của danh sách.

Các vòng lặp JavaScript là hữu ích nhất khi bạn cần làm một cái gì đó với mọi mục trong một mảng trong JavaScript, không chỉ một số ít.

Điều tương tự cũng áp dụng cho cho các vòng lặp. Nếu bạn đang tìm kiếm lặp đi lặp lại thông qua mọi đối tượng trong một mảng, thì một trong vòng lặp sẽ hoạt động.

Mặt khác, nếu bạn cần viết một cái gì đó có thể tùy chỉnh hơn có lẽ với nhiều quy tắc hơn, một trò chơi có thể tốt hơn.

Ngoài ra, các cuộc gọi Foreach là một phần của JavaScript 1.6. Điều này có nghĩa là phương pháp Foreach nó có hỗ trợ trình duyệt trên hầu hết các trình duyệt chính.

Và ở đó bạn có nó: JavaScript foreach Loops một cách ngắn gọn!


Về chúng tôi: Karma nghề nghiệp là một nền tảng được thiết kế để giúp người tìm việc tìm, nghiên cứu và kết nối với các chương trình đào tạo nghề để thúc đẩy sự nghiệp của họ. Tìm hiểu về ấn phẩm CK. Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.

Cái gì tiếp theo?

  • Hướng dẫn is there a foreach loop in javascript? - có một vòng lặp foreach trong javascript không?

    Muốn hành động?

    Nhận kết hợp với bootcamp hàng đầu with top bootcamps

James Gallagher

Về tác giả: James Gallagher là một lập trình viên tự học và là người quản lý nội dung kỹ thuật tại sự nghiệp Karma. Ông có kinh nghiệm về phạm vi ngôn ngữ lập trình và chuyên môn sâu rộng về Python, HTML, CSS và JavaScript. James đã viết hàng trăm hướng dẫn lập trình, và ông thường xuyên đóng góp cho các ấn phẩm như Codecademy, Treehouse, Repr.it, Afrotech, và những người khác. James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.

Cái nào tốt hơn cho Loop hoặc Foreach trong JavaScript?

Foreach gần giống như đối với hoặc cho..of, chỉ chậm hơn.Không có nhiều sự khác biệt về hiệu suất giữa hai vòng và bạn có thể sử dụng bất kỳ thuật toán nào phù hợp hơn.Không giống như trong ASSPLYSCRIPT, tối ưu hóa vi mô của vòng lặp không có ý nghĩa đối với các mảng trong JavaScript.

Sự khác biệt giữa Loop và Foreach Loop trong JavaScript là gì?

Chủ yếu, cả hai đều là các loại vòng lặp được sử dụng để lặp lại số lượng bộ sưu tập.Phương thức foreach được sử dụng để thực thi mã cho mọi phần tử được tìm thấy trong mảng. Mặt khác, vòng lặp For rất đơn giản để sử dụng và lặp lại đoạn mã được người dùng chỉ định.The forEach method is utilized to execute the code for every element found in the array. On the other hand, the for loop is simple to use and repeats the piece of code specified by the user.

Tại sao foreach không phải là một chức năng trong javascript?

Xảy ra lỗi "foreach không phải là hàm" khi chúng ta gọi phương thức foreach () trên một giá trị không thuộc loại mảng, bản đồ hoặc đặt.Để giải quyết lỗi, hãy đảm bảo chỉ gọi phương thức Foreach trên các mảng, bản đồ hoặc đặt các đối tượng.occurs when we call the forEach() method on a value that is not of type array, Map , or Set . To solve the error, make sure to only call the forEach method on arrays, Map or Set objects.