【发布时间】:2018-05-02 09:40:45
【问题描述】:
我正在尝试转换以下对象:
let obj = {startDate: '2015-08-03', startTime: '12:00AM'}
到
let obj = {startDate: '2015-08-03 12:00AM'}
在 javascript 中最好的方法是什么?
更新
这是我目前拥有的
export default object => {
let newObj = {};
Object.keys(object).forEach(item => {
if (object[item] === '') {
delete newObj[item];
} else if (moment.isMoment(object[item])) {
newObj[item] = object[item].format('YYYY-DD-MM');
} else if (item === 'startTime') {
newObj['startDate'] = `${newObj['startDate']} ${object['startTime']}`;
} else {
newObj[item] = object[item];
}
});
return newObj; };
但问题是当我先选择时间字段时,它会呈现为日期
startDate: "undefined 3:00AM"
我现在错过了什么?
感谢到目前为止的所有帮助。
【问题讨论】:
-
向我们展示您的尝试。这些步骤并不复杂,这里的目的是让您展示您的尝试,当它没有达到预期效果时,人们会帮助您修复您的代码
-
您的浏览器限制是什么?你能在 ES6 中做到这一点吗?还是你需要让它在 ES5 中工作?您是否也只是将对象的一种格式转换为另一种格式?或者原始对象可以有任意数量的属性,你怎么知道要复制到另一个对象?
-
您(隐含地)选择了@Intervalia 的答案。因此,将他的答案标记为正确答案并提出另一个问题。公平点!
标签: javascript object javascript-objects