【发布时间】:2020-07-22 02:27:11
【问题描述】:
我想看看我的对象:
{
application: "123 abc"
description: "done"
id: 672372
issueDate: "2008-07-02T00:00:00"
}
如果有密钥description,则将密钥替换为information。我该怎么做?
【问题讨论】:
标签: javascript arrays object key
我想看看我的对象:
{
application: "123 abc"
description: "done"
id: 672372
issueDate: "2008-07-02T00:00:00"
}
如果有密钥description,则将密钥替换为information。我该怎么做?
【问题讨论】:
标签: javascript arrays object key
const obj = {...} // => any object
if(obj.hasOwnProperty('description')) {
obj.information = obj.description;
delete obj.description;
}
【讨论】:
obj['important information'] = "some new value."
简单的方法:
var obj = {
application: "123 abc",
description: "done",
id: 672372,
issueDate: "2008-07-02T00:00:00"
}
console.log('before' + obj['application']);
if(obj['application']) {
obj['application'] = 'new value';
}
console.log('after' + obj['application']);
【讨论】:
使用解构和重命名属性。这将避免改变当前对象。
obj = {
application: "123 abc",
description: "done",
id: 672372,
issueDate: "2008-07-02T00:00:00",
};
const update = ({ description: information, ...rest }) =>
Object.assign(rest, information ? { information } : {});
console.log(update(obj));
console.log(update({id: 2}));
【讨论】: