javascript - 转换成json对象标签值格式
问题描述
我有以下类型的对象:
{
2019-02-28 02:36:20: "5 minutes"
2019-02-28 23:59:59: "Today"
2019-03-01 02:31:20: "+1 Day"
2019-03-02 02:31:20: "+2 Days"
2019-03-03 02:31:20: "+3 Days"
2019-03-07 02:31:20: "+1 Week"
2019-03-14 02:31:20: "+2 Weeks"
2019-03-21 02:31:20: "+3 Weeks"
2019-03-28 02:31:20: "+1 Month"
2019-04-28 02:31:20: "+2 Months"
2019-05-28 02:31:20: ">2 Months"
}
我想把它转换成:
[
{
label:'5 minutes',
value:'2019-02-28 02:36:20'
},
{
label:'Today',
value:'2019-02-28 23:59:59'
},
]
通过使用下面的这个函数,我只能得到键和值,但我无法创建那种类型的数组。请任何人都可以帮助我。
closeDate = Object.values(state.finalRequest.closeDate);
closeDateKey = Object.keys(state.finalRequest.closeDate);
解决方案
您可以使用Object.entries,然后使用map以所需的形式映射它
let obj = {"2019-02-28 02:36:20": "5 minutes","2019-02-28 23:59:59": "Today","2019-03-01 02:31:20": "+1 Day","2019-03-02 02:31:20": "+2 Days","2019-03-03 02:31:20": "+3 Days","2019-03-07 02:31:20": "+1 Week","2019-03-14 02:31:20": "+2 Weeks","2019-03-21 02:31:20": "+3 Weeks","2019-03-28 02:31:20": "+1 Month","2019-04-28 02:31:20": "+2 Months","2019-05-28 02:31:20": ">2 Months"}
let op = Object.entries(obj)
.map(([ label, value ] ) => ({ label, value }))
console.log(op)
推荐阅读
- reactjs - React.js - '期望一个赋值或函数调用,而是看到一个表达式'错误作为回报
- reactjs - 如何将图像上传链接到strapi条目创建
- discord.js - 使 JavaScript Discord 机器人具有“请勿打扰”状态
- android - 此项目使用 AndroidX 依赖项,但未启用“android.useAndroidX”属性。android.useAndroidX=true 在设置中
- api - OpenAPI 2.0 添加参数输入示例
- c - 从一个父进程创建 n 个子进程
- javascript - 如何在不覆盖整个文件的情况下写入 JSON,而是更新一部分?
- html - 引导程序创建奇怪的空间,如何解决?
- blazor - 在 Blazor WebAssembly 中测量字符串的宽度
- javascript - Javascript 中的复杂函数组合