How can you merge objects in array of objects?

前端 未结 12 1236
小蘑菇
小蘑菇 2020-12-06 17:32

I\'m looking for the best solution to merge all objects in one array

const arrayOfObjects = [
 {name: \'Fred\', surname: \'Shultz\'}, {name: \'Anne\', surnam         


        
12条回答
  •  情深已故
    2020-12-06 18:00

    The following should work - uses a few ES6 helpers, but the key is Array#reduce which is in ES5.

    const result = arrayOfObjects.reduce((acc, obj) => {
        for (let key in obj) {
            if (key in acc) {
                acc[key].push(obj[key]);
            }
            else {
                acc[key] = [obj[key]];
            }
        }
        return acc;
    }, {});
    

提交回复
热议问题