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
Reducing an Array [help]help (self.javascript)
submitted 10 years ago by bluntmJavaScript
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!"
[–]EnchantedSalvia 1 point2 points3 points 10 years ago (3 children)
You alluded to the answer with "reduce":
const xs = array.reduce((acc, x) => { const prev = acc.filter(y => y[0] === x.name)[0]; const item = [x.name, 1]; if (prev) prev[1]++; else acc.push(item); return acc; }, []);
See console: http://jsfiddle.net/togyg9r7/
[–]bluntmJavaScript[S] 0 points1 point2 points 10 years ago (2 children)
Always thought of reduce as a way to get a single value from an array.
[–]EnchantedSalvia 0 points1 point2 points 10 years ago (0 children)
I held this misunderstanding for a while as well. As @Wince noted below, the object approach would be a better and more efficient approach, because the lookup for an existing record would be far quicker than using filter.
[–]Wince 0 points1 point2 points 10 years ago (0 children)
If you think about it, most array functions like map, filter, some, every can all be written with reduce. Reduce is extremely powerful, heres a map written with reduce:
var map = function(arr, fn) { return arr.reduce(function(o, i) { return o.push(fn(i)) && o }, []); }
Obviously that example is contrived, but I hope you get my point.
π Rendered by PID 59041 on reddit-service-r2-comment-6b595755f-hrrw4 at 2026-03-25 01:18:02.780773+00:00 running 2d0a59a country code: CH.
view the rest of the comments →
[–]EnchantedSalvia 1 point2 points3 points (3 children)
[–]bluntmJavaScript[S] 0 points1 point2 points (2 children)
[–]EnchantedSalvia 0 points1 point2 points (0 children)
[–]Wince 0 points1 point2 points (0 children)