Zgodnie ze stroną MDN pod numerem for each...in loop, ta konstrukcja jest nieaktualna. Czy istnieje alternatywa, która robi dokładnie to samo? for...of loop nie wykonuje iteracji nad niecałkowitymi (własnymi wyliczalnymi) właściwościami. Jeśli nie ma alternatywy, dlaczego go wtedy zniechęcili?JavaScript alternatywny do pętli "dla każdego"
Odpowiedz
Czy istnieje alternatywa, która robi dokładnie to samo?
for ... in
pętla, w której pierwszą rzeczą zrobić w bloku kodu jest skopiowanie foo[propertyname]
do zmiennej.
Tak, myślę, że istnieje tylko to obejście, które tak naprawdę nie jest zamiennikiem języka dla "dla każdego". Więc nie powinni byli go zdeprawować, prawda? – user1537366
O ile pamiętam, działa to tylko na webkicie? – Benedictus
@Benedictus - Nie. Jest w JavaScript 1.0. Netscape 2 obsługuje go! – Quentin
iteracyjne nad wszystkich właściwości obiektu obj
, można to zrobić:
for (var key in obj) {
console.log(key, obj[key]);
}
Jeśli chcesz uniknąć odziedziczone właściwości, można to zrobić:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
console.log(key, obj[key]);
}
Można skorzystać z nowych ECMAScript 5. edycja funkcji:
Object.keys(obj).forEach(function (key) {
console.log(key, obj[key]);
});
^w ten sposób rozwiązałem błąd "no-restricted-syntax" z eslint, gdy użyte jest 'forinstatement'. – pherris
- 1. JavaScript jeśli alternatywny
- 2. Javascript dla wydajności pętli
- 3. Funkcja JavaScript określona dla pętli
- 4. JavaScript poprawiła natywny dla pętli
- 5. Problem z JavaScript dla pętli
- 6. „Dla każdego” pętli w tabeli lua z par wartości kluczowych
- 7. Wywołanie javascript dla pętli bez zwracania
- 8. Czy ocena pętli C++ 11 dla każdego cyklu jest oceniana?
- 9. JavaScript: Dynamiczne tworzenie zmiennych dla pętli
- 10. javascript dla() pętli, split() i pytania tablicowego
- 11. javascript funkcję do każdego elementu na tablicę obiektów
- 12. Pozycjonowanie obrazu tekst alternatywny
- 13. Wykrywanie dla ... obsługi pętli w JavaScript
- 14. CGRectMake alternatywny
- 15. Wielofunkcyjny tester alternatywny do system.time
- 16. Alternatywny do PHP exec() funkcji
- 17. NodeJS []. Dla każdego niezdefiniowanego
- 18. Wyświetl alternatywny obraz
- 19. Warianty pętli w javascript
- 20. Konstruktor alternatywny dla metod statycznych w PHP
- 21. Dodatek JavaScript/suma pętli
- 22. Javascript równoważny php do wydajności pętli
- 23. Przetwarzanie pętli asynchronicznej JavaScript
- 24. opóźnienie pętli for z javascript
- 25. LINQ stylu "dla każdego"
- 26. jQuery dołączaj węzły potomne dla każdego
- 27. SQL Server dla każdego Loop
- 28. Dla każdego x ... Next Vs. Dla każdego x ... Dalej x
- 29. Jak śledzić zmienne licznika w ruby, blok, dla, każdego, czy
- 30. javascript nieskończonej pętli z defineSetter
dobry punkt [tutaj] (wykonaną http://stackoverflow.com/questions/242841/javascript-for-in-vs -do) – noel