Secondo la pagina MDN allo for each...in loop, questo costrutto è deprecato. Esiste un'alternativa che faccia esattamente la stessa cosa? Lo for...of loop non esegue iterazioni su proprietà non interi (proprie enumerabili). Se non c'è un'alternativa, perché l'hanno deprecato allora?Alternativa JavaScript al ciclo "per ogni"
risposta
Is c'è un'alternativa che fa esattamente la stessa cosa?
Un for ... in
ciclo in cui la prima cosa da fare nel blocco di codice è quello di copiare foo[propertyname]
a una variabile.
Sì, immagino ci sia solo questo work-around, che non è in realtà un sostituto linguistico per "per ciascuno". Quindi non dovrebbero averlo deprecato, giusto? – user1537366
Per quanto mi ricordo, funziona solo su webkit? – Benedictus
@Benedictus - No. È in JavaScript 1.0. Netscape 2 lo supporta! – Quentin
Per iterare su tutte le proprietà di un oggetto obj
, si può fare questo:
for (var key in obj) {
console.log(key, obj[key]);
}
Se si vuole evitare di proprietà ereditate, si può fare questo:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
console.log(key, obj[key]);
}
Si può fare uso delle nuove ECMAScript 5 ° edizione funzioni:
Object.keys(obj).forEach(function (key) {
console.log(key, obj[key]);
});
^questo è il modo in cui ho risolto l'errore 'no-restricted-syntax' da eslint quando viene usato' forinstatement'. – pherris
- 1. Alternativa al ciclo nidificato per il confronto
- 2. per ogni ciclo nell'obiettivo c per l'accesso al dizionario NSMutable
- 3. T-SQL per ogni alternativa?
- 4. per ogni iterazione del ciclo
- 5. Alternativa al servicewrapper per java?
- 6. AngularJS: concatenamento di promesse per ogni ciclo
- 7. XML XSL nidificato per ogni ciclo
- 8. Ogni ciclo Haml?
- 9. Usando per-ogni ciclo in java
- 10. Per ogni ciclo utilizzando matrice 2D
- 11. Per ogni ciclo su Java HashMap
- 12. Javascript migliorato nativo per ciclo
- 13. Alternativa interattiva al punto?
- 14. alternativa al strdup
- 15. Opensource alternativa al mobiscroll
- 16. semplice alternativa al Greasemonkey
- 17. Alternativa al Gridster?
- 18. Alternativa al modello di visitatore?
- 19. Alternativa gratuita al logging
- 20. alternativa al CutyCapt
- 21. Alternativa gratuita al Targetprocess?
- 22. C++ alternativa al perror()
- 23. Alternativa al modello osservabile?
- 24. veloce alternativa al decimal.Parse
- 25. jQuery Ciclo attraverso ogni div
- 26. C# alternativa per javascript escape function
- 27. alternativa al database di polling?
- 28. alternativa al R
- 29. Swift alternativa al performSelectorOnMainThread
- 30. efficiente alternativa al Data.Vector.dropWhile
Buon punto [fatta qui] (http://stackoverflow.com/questions/242841/javascript-for-in-vs -per) – noel