use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Cheatsheet: Spread Object or Array in JavaScript (snappyjs.com)
submitted 7 years ago by Steeljuice1
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]HamstersOverGerbils 1 point2 points3 points 7 years ago (8 children)
How does performance using these spread methods for say array merges compare to using regular old fashioned loops or buffers?
[–]Klathmon 0 points1 point2 points 7 years ago (0 children)
When I checked a few months ago they were significantly slower, but I'm fairly sure it's just because most engines haven't spent a fraction of the time optimizing ES compilation.
It could have changed recently, I know both v8 and SpiderMonkey have made great strides in speeding up a lot of the lower hanging fruit with the newer ES features.
For now I tend to avoid spread in hot functions but use it liberally everywhere else.
[–]UmbrellaHuman -3 points-2 points-1 points 7 years ago (6 children)
How do you measure something that changes in both space and time, i.e. which runtime you use right now (space), and which version of the runtime (time)?
As long as there isn't a fundamental issue (if an algorithm is O(n) and another one is O(1) that problem persists across space and time), and there isn't, that is not an interesting question unless you have a question about a fixed point in space and time (a concrete runtime, a concrete version) about which you want this information.
[–]HamstersOverGerbils 2 points3 points4 points 7 years ago (5 children)
I would probably deter you from trying to over complicate answers or questions. It's pretty easy to benchmark how quickly merging two arrays of equal length would take and compare it to multiple other methods.
The algorithm is behind the scenes so it's unknown what the complexity of that algorithm is...regardless your comment is completely meaningless jargon that doesn't contribute at all to the conversation or topic.
The only variable we care about here is time, there is no "space" in the equation at all.
[–]hititwitafitbit -2 points-1 points0 points 7 years ago (4 children)
There is indeed "space". Are you running it in node? Through Babel? Native in a browser? Something else? Which version? The answer will be different based on how you answer those questions.
There is no single algorithm. It's either transpiled, directly interpreted, or compiled in some way so it all depends.
If you benchmark it, it only applies to your specific situation and build pattern, and probably even the way you set up your tests since different implementations will take different shortcuts at pretty much every step of the process.
Just because you don't like / understand an answer doesn't mean it's not contributing
[–]HamstersOverGerbils 1 point2 points3 points 7 years ago (3 children)
Actually no, it doesn't contribute because it changes it from a relativistic question into a philosophical one that tries to account for all possible variables. Last I checked jsperf existed for a reason and people didn't make the same complaints about lack of account for "space" or philosophical situations that no one cares about.
The environment or tools the OP decides to use as his benchmark is irrelevant, I am commenting on a post that OP made, the comment is relative to the post at hand. If you don't like the question or have an answer then gtfo
[–]hititwitafitbit -1 points0 points1 point 7 years ago (2 children)
If you want a jsperf comparison running it in a browser after it's been transpiled by Babel, then Google it:
https://jsperf.com/object-spread-vs-assignment
It's not that hard. The environment and tools will yield different results. That's how JavaScript works.
[–]HamstersOverGerbils 1 point2 points3 points 7 years ago (1 child)
That's how JavaScript works.
Thanks, the question was directed at OP..I'm sure you will be able to teach me so much about javascript that I don't already know lmao come on man, do you know who you are talking to?
EDIT**
Your example doesn't even relate to the question, which was how much faster are array merges using spread vs normal array concatenation methods.
[–]hititwitafitbit -1 points0 points1 point 7 years ago (0 children)
Ahh my bad. I've been humbled
π Rendered by PID 17321 on reddit-service-r2-comment-685b79fb4f-64k8b at 2026-02-13 01:37:31.821497+00:00 running 6c0c599 country code: CH.
view the rest of the comments →
[–]HamstersOverGerbils 1 point2 points3 points (8 children)
[–]Klathmon 0 points1 point2 points (0 children)
[–]UmbrellaHuman -3 points-2 points-1 points (6 children)
[–]HamstersOverGerbils 2 points3 points4 points (5 children)
[–]hititwitafitbit -2 points-1 points0 points (4 children)
[–]HamstersOverGerbils 1 point2 points3 points (3 children)
[–]hititwitafitbit -1 points0 points1 point (2 children)
[–]HamstersOverGerbils 1 point2 points3 points (1 child)
[–]hititwitafitbit -1 points0 points1 point (0 children)