While I totally agree with you, this post is filed under #beginners. Beginner programmers need to build a solid understanding of how things work under the hood (doing deduplication manually) and then use abstractions like Set.
Using a Set is literally part of the blog post. None of the other possible solutions from the post are low level. In fact they all use lambda expressions, which is even more complicated to grasp than a Set, which consists of unique values (per definition).
i don't know that i would call a set an abstraction of manual deduplication. for a beginner, a set just is a set of unique values. how you get there manually, or what implementation your runtime is using to guarantee that uniqueness doesn't feel like a beginner topic.
With a
Set, you can just doI have some other examples here.
Have a Handy JS Snippet You Want to Share?
Nick Taylor (he/him) ・ Jan 23 '18 ・ 2 min read
While I totally agree with you, this post is filed under #beginners. Beginner programmers need to build a solid understanding of how things work under the hood (doing deduplication manually) and then use abstractions like Set.
While you do have a point there, I think
array.splice(0, array.length, ...(new Set(array)))would be more confusing for beginners ;)that's a nightmare tbh
I would say that is something which should not be taught to new devs, cause it will push them in the wrong direction, to be fair.
Using a Set is literally part of the blog post. None of the other possible solutions from the post are low level. In fact they all use lambda expressions, which is even more complicated to grasp than a Set, which consists of unique values (per definition).
i don't know that i would call a set an abstraction of manual deduplication. for a beginner, a set just is a set of unique values. how you get there manually, or what implementation your runtime is using to guarantee that uniqueness doesn't feel like a beginner topic.
I get a TypeScript error for trying to expand the set.
This works though:
Seems like the simplest solution.