2017-05-24 101 views
0

我有以下对象如何修改键值

var CUSTOMER = { 
 
     tite: 'Mr', 
 
     first: 'Andy', 
 
     last: 'Smith', 
 
     Date: '10', 
 
     Month: '01' 
 
    };

,我需要改变它,这样日期和月份是一个关键,日期和月份用相结合' - '。像这样

var CUSTOMER = { 
 
     tite: 'Mr', 
 
     first: 'Andy', 
 
     last: 'Smith', 
 
     dob: '10-01' 
 
    };

什么是实现这一目标的最简单的方法? 感谢

+0

你已经设法解决它,你想办法不是“最简单”?如果是这样,请问您可以将其添加到问题中,以便人们可以将您的变体与其他答案进行比较吗? –

回答

0

你可以使用+运算符和CONCAT()来解决这个

var CUSTOMER = { 
 
     tite: 'Mr', 
 
     first: 'Andy', 
 
     last: 'Smith', 
 
     Date: '10', 
 
     Month: '01' 
 
    }; 
 

 
CUSTOMER.dob = CUSTOMER.Date + '-'.concat(CUSTOMER.Month); 
 
delete CUSTOMER.Date; 
 
delete CUSTOMER.Month; 
 
console.log(CUSTOMER);

2
CUSTOMER.dob = CUSTOMER.Date + '-' + CUSTOMER.Month; 
delete CUSTOMER.Date; 
delete CUSTOMER.Month; 
0

你有对象文本,并且可以在其上创建一个新的属性,然后赋值为其他两个属性的串联。然后,使用delete运算符从对象字面上删除DateMonth属性。

另外,不知道你在做什么,但最好有一个Date为日期相关的属性,因为它更容易从日期对象,而不是依赖于月份,日期,年份字符串操作。

var CUSTOMER = { 
 
     tite: 'Mr', 
 
     first: 'Andy', 
 
     last: 'Smith', 
 
     Date: '10', 
 
     Month: '01' 
 
    }; 
 

 
CUSTOMER.dob = CUSTOMER.Date + "-" + CUSTOMER.Month; 
 
delete CUSTOMER.Date; 
 
delete CUSTOMER.Month; 
 
console.log(CUSTOMER);

+0

明智的做到了这一招,感谢很多家伙! – Mikey

+0

@Mikey - 很高兴帮助。请不要忘记标记答案/ upvote是否有帮助。 – Agalo

0

var CUSTOMER = { 
 
     tite: 'Mr', 
 
     first: 'Andy', 
 
     last: 'Smith', 
 
     Date: '10', 
 
     Month: '01' 
 
    }; 
 
    
 
CUSTOMER.dob = CUSTOMER.Date+"-"+CUSTOMER.Month; 
 
delete CUSTOMER.Date; // delete Date 
 
delete CUSTOMER.Month; //delete Month 
 
console.log(CUSTOMER);

0

我更喜欢使用concat因为它是更清楚自己在做什么(追加字符串,而不是做数学加) 。