Why does Object.keys return an Array instead of a Set?
ljharb at gmail.com
Sun Oct 18 17:18:30 UTC 2020
`new Set(Object.keys(obj))` seems pretty straightforward - I doubt it's
worth adding something to the language just to make that shorter.
Separately, if you're looking for a deduped O(1) lookup of key presence,
you already have _an object_ - `Object.prototype.hasOwnProperty.call(obj,
On Sun, Oct 18, 2020 at 8:28 AM Ehab Alsharif <ehalsharif92 at gmail.com>
> Other than the fact that Object.keys existed really before Sets, you are
> comparing apples and oranges here in your benchmarks.
> the include method has to scan the array in order to find elements, but
> sets are objects which are just hash tables.
> Also you typically don't get the keys array to check that a key is there,
> you can do that directly using the object you have.
> Another thing is that the typical use case for Object.keys is to get an
> iterator over the keys, returning a set for that purpose does not serve
> that purpose directly.
> On Sat, Oct 17, 2020 at 4:51 AM #!/JoePea <joe at trusktr.io> wrote:
>> Sets are faster, even for tiny lists of four items. See the perf tests
>> (tested in Chrome):
>> es-discuss mailing list
>> es-discuss at mozilla.org
> es-discuss mailing list
> es-discuss at mozilla.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es-discuss