Hacker News new | ask | show | jobs
by dragonwriter 1863 days ago
> Try using Array.from(arrayish).forEach() to convert the thing that looks like an array to an actual array.

Spread syntax is my goto for that:

  [...arrayish].forEach(...)
But, it being JavaScript, there’s probably a subtle distinction in where Array.from(arrayish) works and where [...arrayish] works.
1 comments

There's a very big distinction.

`...foo` requires `foo` to be an iterable (implements the iterator known symbol).

`Array.From()` only requires it to be array-like and not necessarily iterable.

Good point. I don't think I've run into many non-iterable arraylikes, but I understand they used to be more common (e.g., a number of standard things that are now specced as iterable arraylikes used to be just the latter) and there’s probably a lot lurking in library/legacy code.