New object key from an object value
let person = { name: 'marta' }
let points = { [person.name]: 27 }
let person = { name: 'marta' }
let points = { [person.name]: 27 }
Starting from the previous example we are going to flatten arrays of objects with 3 method:
We are trying to do it in a functional way, clearer and shorter. The more (nested) elements you have, the better the map option will be versus forEach with concat. If we are looking for the fastest option, a classical for with push will be the best one as JapanFever said and the worst a forEach with concat.
Just launch these basic test I made in jsPerf and try yourself:
https://jsperf.com/map-with-join-vs-foreach-with-concat
https://jsperf.com/flattening-arrays-of-objects
The more (nested) elements you have, the more equal the forEach will be comparing with the classical for.
JavaScript engines performance are improving constantly and I hope to see a better way to flatten using map xD
Sort an array of objects by their properties values.