2013-04-22 29 views
19

Tôi có một ứng dụng Express.js được thiết lập bằng cách sử dụng các mẫu EJS. Tôi đã lặp thành công qua một mảng với cú pháp JS cổ điển:Mẫu Express/EJS bên trong, cách sạch nhất để lặp qua một mảng là gì?

<% for (var i = 0; i < myArray.length; i++) { 
    this = myArray[i]; 
    // display properties of this 
} %> 

Nhưng tôi tự hỏi, liệu có cách nào để làm điều này không?

Cụ thể, tôi có thể sử dụng dấu gạch dưới hoặc dấu gạch chéo để nối với .each? cảm ơn bạn

Trả lời

54

Bạn có thể sử dụng phương pháp forEach

myArray.forEach(function(el, index) { 
    // el - current element, i - index 
}); 
+1

hoàn hảo, cảm ơn! – dylanized

+0

nhưng khi tôi xóa một phần tử trong mảng của tôi, chỉ mục sẽ không thích ứng. Điều gì sẽ là giải pháp cho điều này? –

+0

@Emanuelacolta bạn không thể xóa các mục của mình trong forEach. Bạn nên lưu chỉ mục của các phần tử để xóa trong mảng riêng biệt và xóa chúng sau khi bạn hoàn thành forEach. (Và bạn cần phải xóa chúng theo thứ tự ngược lại, để các chỉ số của mảng không thay đổi khi bạn xóa) –

Các vấn đề liên quan