javascript - Pushing objects with the same values to Array -
given have , array of objects:
let objects = [ {name: 'bob'}, {name: 'foo'}, {name: 'bar'}, {name: 'foo'}, {name: 'foo'} ] how can transform array one:
let objects = [ [ {name: 'bob'} ], [ {name: 'foo'}, {name: 'foo'}, {name: 'foo'} ], [ {name: 'bar'} ] ] higher order functions
you use array .reduce() method iterate on array , put each object array in working object keyed off name property, afterwards use object.values() convert working object array of arrays:
let objects = [ {name: 'bob'}, {name: 'foo'}, {name: 'bar'}, {name: 'foo'}, {name: 'foo'} ] let result = object.values(objects.reduce((a,c) => { if (!a[c.name]) a[c.name] = [] a[c.name].push(c) return }, {})) console.log(result)
Comments
Post a Comment