如何将现有对象修改为新对象javascript
我想实现现有对象如何将现有对象修改为新对象javascript,javascript,arrays,object,Javascript,Arrays,Object,我想实现现有对象sampleobj,如预期输出所示。 我有键jan、feb、mar、apr和用逗号分隔的值, 应始终将第一个字符串作为开始,第二个字符串作为结束 “一月”:“07:30,23:00”//开始,结束 到 “一月开始”:“07:30”, “一月末”:“23:00” 预期产出: { month:{ "jan_begin": "07:30", "jan_end": "23:00", "feb_begin": "08:30", "feb_end": "23:
sampleobj
,如预期输出所示。
我有键jan、feb、mar、apr
和用逗号分隔的值,
应始终将第一个字符串作为开始
,第二个字符串作为结束
“一月”:“07:30,23:00”//开始,结束
到
“一月开始”:“07:30”,
“一月末”:“23:00”
预期产出:
{
month:{
"jan_begin": "07:30",
"jan_end": "23:00",
"feb_begin": "08:30",
"feb_end": "23:00",
"mar_begin": "07:30",
"mar_end": "22:00",
"apr": "",
},
fields: [
{date: "30-12-2019", begin: "10:00", end: "24:00"},
{date: "31-12-2019", begin: "11:00", end: "24:00"},
]
}
您可以先检查该值,然后决定是否为空字符串,或者采用拆分的开始/结束值
var object={jan:“07:30,23:00”,feb:“08:30,23:00”,mar:“07:30,22:00”,apr:,“30-12-2019:“10:00,24:00”,“31-12-2019:“11:00,24:00”},
结果=对象
.条目(对象)
.减少((r[k,v])=>{
如果(v==''){
r、 月[k]='';
返回r;
}
var[begin,end]=v.split(',');
如果(k.length==3){
r、 月[k+'_begin']=开始;
r、 月[k+''U end']=结束;
}否则{
r、 push({date:k,begin,end});
}
返回r;
},{月份:{},字段:[]});
控制台日志(结果)代码>
。作为控制台包装{最大高度:100%!重要;顶部:0;}
var sampleobj = {
"jan": "07:30,23:00"
"feb": "08:30,23:00"
"mar": "07:30,22:00"
"apr": ""
"30-12-2019": "10:00,24:00",
"31-12-2019": "11:00,24:00"
}
{
month:{
"jan_begin": "07:30",
"jan_end": "23:00",
"feb_begin": "08:30",
"feb_end": "23:00",
"mar_begin": "07:30",
"mar_end": "22:00",
"apr": "",
},
fields: [
{date: "30-12-2019", begin: "10:00", end: "24:00"},
{date: "31-12-2019", begin: "11:00", end: "24:00"},
]
}