Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

150
Views
How can I add for each grouped object new key value in javascript?

Hi all I have following array


    const arr = [
      {
       ImageFileSet: [{ id: 1 }],
       LineItemFile: "new name",
       LineItemRef: "PDF",
       id: 44  
      },

       {
       ImageFileSet: [{ id: 7 }, { id: 8 }, { id: 9 }],
       LineItemFile: null,
       LineItemRef: "Image"
       id: 124
      },

    ];

I am trying to group array of objects in new array with following code

    const allFiles = arr .flatMap(({ ImageFileSet }) => [ImageFileSet]);

Output is

    [ { id: 1 }, { id: 7 }, { id: 8 }, { id: 9 } ]

Now how can I also add LineItemFile for each object ?

I want final result something like

    [ { id: 1,  LineItemFile: "new name", }, { id: 7,LineItemFile: null, }, { id: 8 , 
       LineItemFile: null,}, { id: 9 , LineItemFile: null,} ]

Please help me resolve this.

I looked into this article but it not helped.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

you can do something like this

const arr = [{
    ImageFileSet: [{
      id: 1
    }],
    LineItemFile: "new name",
    LineItemRef: "PDF",
    id: 44
  },
  {
    ImageFileSet: [{
      id: 7
    }, {
      id: 8
    }, {
      id: 9
    }],
    LineItemFile: null,
    LineItemRef: "Image",
    id: 124
  },
];

const result = arr.flatMap(({ImageFileSet,LineItemFile}) =>
  ImageFileSet.map(d => ({ ...d, LineItemFile}))
)
console.log(result)

about 4 years ago · Juan Pablo Isaza Report

0

Something like:


    const allFiles = arr.flatMap((lineItem) => {
      return lineItem.ImageFileSet.map((imageFileSet) => (
          {...imageFileSet, LineItemFile: lineItem.LineItemFile}
        }))
   });


about 4 years ago · Juan Pablo Isaza Report

0

Try this :

const allFiles = arr.flatMap((obj) =>
    obj.ImageFileSet.flat().map((id) => ({
    ...id,
    LineItemFile: obj.LineItemFile
    }))
);

Output :

[
    {
        "id": 1,
        "LineItemFile": "new name"
    },
    {
        "id": 7,
        "LineItemFile": null
    },
    {
        "id": 8,
        "LineItemFile": null
    },
    {
        "id": 9,
        "LineItemFile": null
    }
]
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!