Theo trang MDN tại for each...in loop, cấu trúc này không còn được dùng nữa. Có một sự thay thế nào thực hiện chính xác điều tương tự không? Các for...of loop không lặp qua các thuộc tính không nguyên (sở hữu riêng). Nếu không có thay thế, tại sao họ lại không dùng nó?JavaScript thay thế cho "cho mỗi" vòng lặp
Trả lời
Is có một thay thế nào thực hiện chính xác điều tương tự?
Vòng đầu tiên bạn thực hiện trong khối mã là sao chép foo[propertyname]
thành biến.
Vâng, tôi đoán chỉ có công việc này, mà thực sự không phải là ngôn ngữ thay thế cho "cho mỗi". Vì vậy, họ không nên không dùng nó, phải không? – user1537366
Theo tôi nhớ điều này chỉ hoạt động trên webkit? – Benedictus
@Benedictus - No. Đó là trong JavaScript 1.0. Netscape 2 hỗ trợ nó! – Quentin
Để lặp qua tất cả các thuộc tính của một đối tượng obj
, bạn có thể làm điều này:
for (var key in obj) {
console.log(key, obj[key]);
}
Nếu bạn muốn tránh tài sản thừa kế, bạn có thể làm điều này:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
console.log(key, obj[key]);
}
Bạn có thể tận dụng các ECMAScript 5th Edition chức năng mới:
Object.keys(obj).forEach(function (key) {
console.log(key, obj[key]);
});
^đây là cách tôi giải quyết lỗi 'no-restricted-syntax' khỏi eslint khi' forinstatement' được sử dụng. – pherris
- 1. cho mỗi vòng lặp
- 2. Đọc nút Xml cho mỗi vòng lặp
- 3. xsl: cho mỗi vòng lặp truy cập
- 4. XSL lồng nhau cho mỗi vòng lặp
- 5. SQL Server cho mỗi vòng lặp
- 6. JavaScript thay thế cho vòng lặp: lặp lại (n, hàm (i) {...});
- 7. Javascript cho vòng lặp hiệu quả
- 8. Nhiều quầy trong Javascript cho vòng lặp
- 9. Cách sử dụng cho mỗi vòng lặp trong C++
- 10. In một ArrayList với một vòng lặp cho mỗi
- 11. Java cho mỗi vòng lặp: Sắp xếp thứ tự
- 12. sự khác biệt giữa vòng lặp & cho mỗi vòng lặp trong php
- 13. Làm thế nào để tôi có được một bộ đếm cho một vòng lặp 3 "mỗi vòng lặp"?
- 14. Coffeescript. cho/trong vòng lặp
- 15. lặp lại một vòng lặp cho vòng lặp
- 16. lặp jQuery mỗi vòng lặp cho hai mảng cùng một lúc
- 17. Javascript cải thiện bản địa cho vòng lặp
- 18. SQL 2012 - lặp qua danh sách XML (thay thế tốt hơn cho vòng lặp WHILE)
- 19. JavaScript cho sự khác biệt về chỉ số vòng lặp
- 20. JavaScript: Tự động tạo biến cho vòng lặp
- 21. Phạm vi biến Javascript bên trong cho vòng lặp
- 22. Tăng cường cho vòng lặp trong mảng 2D - JavaScript
- 23. Javascript cho vòng lặp với đối tượng thay vì truy cập?
- 24. Làm thế nào để hiển thị hai cột bảng cho mỗi hàng trong vòng lặp php
- 25. Các trình lặp vòng lặp cho C++
- 26. trả lại cho vòng lặp hoặc vòng lặp ngoài
- 27. Đường ray: nhận dữ liệu từ bảng cho mỗi lần lặp của vòng lặp
- 28. Postgres - mảng cho vòng lặp
- 29. Cách C++ 0x để thay thế cho vòng lặp (int i ;;) với phạm vi dựa trên vòng lặp
- 30. Sử dụng đa luồng cho vòng lặp
Tốt điểm [thực hiện ở đây] (http://stackoverflow.com/questions/242841/javascript-for-in-vs -cho) – noel