-2

I've array like this

const data=[ {a:aa, b:bb, c:cc, d:dd, status:[key:0, value: true] },
         {a:ee, b:ff, c:gg, d:hh, status:[key:1, value: true] },
         {a:ii, b:jj, c:kk, d:ll, status:[key:1, value: true] },
       ]

I want to convert it into like this

const data=[{0:aa, 1:bb, 2:cc, 3:dd},
         {0:ee, 1:ff, 2:gg, 3:hh},
         {0:ii, 1:jj, 2:kk, 3:ll},
       ]

P.S. thank you.

2 Answers2

4

You could destructure unwanted properties and assign the values to an object.

const
    data = [{ a: 'aa', b: 'bb', c: 'cc', d:'dd', status: [] }, { a: 'ee', b: 'ff', c: 'gg', d: 'hh', status: [] }, { a: 'ii', b: 'jj', c: 'kk', d: 'll', status: [] }],
    result = data.map(({ status, ...o }) => Object.assign({}, Object.values(o)));

console.log(result);
Nina Scholz
  • 376,160
  • 25
  • 347
  • 392
1

const data=[ 
  {a:'aa', b:'bb', c:'cc', d:'dd', status:[{ key:0, value: true }] },
  {a:'ee', b:'ff', c:'gg', d:'hh', status:[{ key:1, value: true }] },
  {a:'ii', b:'jj', c:'kk', d:'ll', status:[{ key:1, value: true }] },
];

const output = data.reduce((acc, curr) => {
    const { status, ...rest } = curr;
    const obj = { ...Object.values(rest) }
    acc.push(obj)
    return acc;
}, [])

console.log(output)
Hamza Zaidi
  • 672
  • 5
  • 8