Quelle est la différence entre ces deux méthodes lors d'une itération sur un objet?Différence entre _.forEach et _.forOwn dans lodash
35
A
Répondre
48
La différence réside en ce que si la collection sur laquelle vous itérez est un objet qui a une propriété length
, le _.forEach()
itérera dessus comme si elle était un tableau, alors que le _.forOwn()
itérera dessus comme un objet .
Supposons que vous avez l'objet:
a = {
x: 100,
y: 200,
length: 2
}
Si vous itérer dessus comme:
_.forEach(a, function(val, key) {
console.log('a[' + key + '] = ' + val);
});
vous obtiendrez la sortie:
a[0] = undefined
a[1] = undefined
alors itérer dessus avec _.forOwn()
vous obtiendrez le plus raisonnable:
a[x] = 100
a[y] = 200
a[length] = 2
Questions connexes
- 1. lodash - filtre et forEach
- 2. D3 javascript Différence entre foreach et chaque
- 3. Différence majeure entre Foreach et l'utilisation
- 4. Différence entre foreach (int i .. et foreach (auto i
- 5. Quelle est la différence entre cloneDeep (a) et extend ({}, a) dans lodash?
- 6. C# Différence entre Foreach et for (pas performance)
- 7. Différence entre == et = dans Haskell
- 8. Différence C++ entre '//' et '///'
- 9. La différence entre $ * et $ @
- 10. Différence entre ==, = et éq
- 11. Différence entre "**/* /" et "** /"?
- 12. Différence entre fmod et%
- 13. VBA: Différence entre & et +
- 14. Différence entre sqlreader et
- 15. Différence entre "" et String.Empty()
- 16. Différence entre référence et & *?
- 17. différence entre « :: » et « -> »
- 18. Différence entre @ et @@ instance
- 19. différence entre String.Empty et ""
- 20. différence entre (void *) et &
- 21. La différence entre: + et &: +
- 22. union unique dans lodash
- 23. Différence entre SwingWorker et SwingUtilities.invokeLater
- 24. Différence entre control.Attributes.Add et control.Attributes []
- 25. Différence entre RASPHONE.exe et RASDIAL.exe
- 26. Différence entre uart_register_driver et platform_driver_register?
- 27. Différence entre session.evict et clear
- 28. Différence entre env.TEAMCITY_PROJECT_NAME et system.teamcity.projectName
- 29. Différence entre -Wconversion entre gcc et g ++
- 30. Différence entre Gridview et Datagrid dans Asp.net