Javascript 从数组创建对象的对象
从URL获取参数的示例: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
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.RAZIKdateRange
不应该出现在getParams
示例中您所需的对象不是有效的JSON。@peinearydevelopment我不想创建JSON对象。@KD1您上面的内容看起来像是在尝试获取JSON。如果你想要其他东西,你必须说明获得帮助是什么…一个字符串?这不起作用,因为我从URL中的get参数获取数据。所以每次都会有所不同。上面是一个例子