Javascript 从数组创建对象的对象

Javascript 从数组创建对象的对象,javascript,arrays,object,ecmascript-6,parameters,Javascript,Arrays,Object,Ecmascript 6,Parameters,从URL获取参数的示例: const getParams={status:'SUCCESS',productType:'DATA'} 以下是我希望如何从get params对象塑造数据的形状: { { productType: {label: 'Data', value: 'DATA'}, }, { status: {label: 'Success', value: 'SUCCESS'}, } } 我尝试将Object.entries(getParams)与.m

从URL获取参数的示例:

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

以下是我希望如何从get params对象塑造数据的形状:

{
  {
    productType: {label: 'Data', value: 'DATA'},
  },
  {
    status: {label: 'Success', value: 'SUCCESS'},
  }
}
我尝试将
Object.entries(getParams)
.map()
一起使用,但这显然会返回一个我不想要的对象列表

任何帮助都将是巨大的,我想我已经看了太久,没有看到一个明确的解决方案


如果需要任何进一步的信息,请让我知道,但基本上是这样的当您以这种方式定义对象时如何:

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

这样,您可以通过属性访问对象。记住JavaScript对象都是关于属性和值的,因此如果要在其他对象中包含对象,它们必须包含在您可以访问的属性中。

您可以使用map和object.entires来实现所需的输出,这种方法有点冗长,但是,您可以对其进行优化

const getParams=[{status:'SUCCESS',productType:'DATA'}]
map=newmap()
getParams.map(o=>{
set(“productType”,{label:o.productType,value:o.productType}),
set(“status”,{label:o.status,value:o.status}})
输出={}
obv=Object.fromEntries(映射)
Object.entries(obv.forEach)((o,i)=>{
输出[i]={[o[0]]:o[1]}
})

console.log(输出)
以及您希望如何处理
日期范围
,忽略它?抱歉@A.RAZIK
dateRange
不应该出现在
getParams
示例中您所需的对象不是有效的JSON。@peinearydevelopment我不想创建JSON对象。@KD1您上面的内容看起来像是在尝试获取JSON。如果你想要其他东西,你必须说明获得帮助是什么…一个字符串?这不起作用,因为我从URL中的get参数获取数据。所以每次都会有所不同。上面是一个例子