Finally, if you see yourself operating on keys of an Object generically like this, you might instead be looking for Map, which naturally iterates by "entries", and supports non-string keys.
Learn something new every day.
- I am a senior software engineer working in industry, teaching and writing on software design, SOLID principles, DDD and TDD.
Location
Buenos Aires
Education
Computer Science Degree at Universidad de Buenos Aires
Nevertheless i use many different languages on all my code smells and i like to think them as pseudo code without entering any language details. Your solution is clearly a better one but it is too tied to a particular language.
Learn something new every day.
- I am a senior software engineer working in industry, teaching and writing on software design, SOLID principles, DDD and TDD.
Location
Buenos Aires
Education
Computer Science Degree at Universidad de Buenos Aires
of
with iterators,in
is for string keys of objects (including inherited).for in
andfor of
syntax in js looks likefor (const ident of expression)
(whereconst
could belet
orvar
andof
could bein
))
in the last statementconsole.log
Array
method is calledforEach
(capitalization)so, all in all:
if for some reason you have to use
in
to iterate over values of an object, it's typically done like this (to avoid iterating over inherited keys)however you should prefer the new iterators, such as
Object.keys()
,Object.values()
andObject.entries()
.As such, the above becomes:
Finally, if you see yourself operating on keys of an Object generically like this, you might instead be looking for Map, which naturally iterates by "entries", and supports non-string keys.
See also Set, WeakMap, WeakSet
Wow!
How many detaill!
I will make your corrections
Nevertheless i use many different languages on all my code smells and i like to think them as pseudo code without entering any language details. Your solution is clearly a better one but it is too tied to a particular language.
What other languages do you use?
see my code smells
up to now:
javascript
pyhton
php
golang
java
ruby
Language is accidental
Code smells are not related to any particular language
I write code snippets as examples but I think them most as pseudocode