Создание объекта объектов из массива - PullRequest
0 голосов
/ 09 июля 2020

Пример получения параметров из URL:

const getParams = {status: 'SUCCESS', productType: 'DATA'}

Вот как я хотел бы сформировать свои данные из объекта get params:

{
  {
    productType: {label: 'Data', value: 'DATA'},
  },
  {
    status: {label: 'Success', value: 'SUCCESS'},
  }
}

Я пробовал использовать Object.entries(getParams) с .map(), но это, очевидно, возвращает список объектов, которых я не хочу.

Любая помощь была бы замечательной, я думаю, что смотрел на это слишком долго чтобы увидеть четкое решение.

Если потребуется дополнительная информация, дайте мне знать, но в основном это все ?

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

вы можете использовать map и object.entires для достижения желаемого результата, этот подход немного многословен. Однако вы можете оптимизировать его

const getParams = [{status: 'SUCCESS', productType: 'DATA'}]

map=new Map()
getParams.map(o=>{
  map.set("productType",{label:o.productType,value:o.productType}),
  map.set("status",{label:o.status,value:o.status})})
output={}
  obv= Object.fromEntries(map)
  Object.entries(obv).forEach((o,i)=>{
        output[i]={[o[0]]:o[1]}
  })

  console.log(output)
0 голосов
/ 09 июля 2020

Как насчет того, чтобы определить объекты таким образом:

{
    productType: {label: 'Data', value: 'DATA'},
    status: {label: 'Success', value: 'SUCCESS'}
}

Таким образом, вы можете получить доступ к объектам через свойства. Помните, что объекты JavaScript - это свойство и значение, поэтому, если вы хотите иметь объекты внутри других объектов, они должны содержаться в свойствах, к которым вы можете получить доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...