6 ms·
Spread syntax should cover linter issues Object.entries(obj).map(...).reduce((acc, [prop, value]) => ({...acc, prop:value}))
by mhluongo 9y ago
Spread syntax should cover linter issues
Object.entries(obj).map(...).reduce((acc, [prop, value]) => ({...acc, prop:value}))
- Rotten194 9y agoisn't that hideously inefficient? you're making a new object each iteration.
- Touche 9y agoBut purity.
- djfm 9y agoit's very unlikely this is going to be the bottleneck in your application
- mintplant 9y agoI wouldn't be so quick to write that off as a performance concern. Creating tons of unnecessary objects is JavaScript's equivalent to programming without regard for cache locality at a lower level, due to the way the JITs work.
- Touche 9y agoIt's very unlikely you'll get any benefit from doing it the inefficient way either. Does eslint not support "ignore this part" comments?
- Prefinem 9y agoYes it does // eslint-disable-line your-rule-to-ignore
- tracker1 9y agoIn those cases, I usually use Object.assign(acc, { [prop]:value }) While not sure if `[prop]` is better or worse than not creating a new interstitial object.
- v413 9y agowhy not just use acc[prop] = value ?
- elmigranto 9y agoAssignment does not return `acc`.