Javascript 如何重命名iterably对象属性
每个对象属性都在第一个字母下面加下划线; 我想删除第一个子字符串,并尝试对所有对象属性使用字符串方法“replace”,但在这种情况下不起作用Javascript 如何重命名iterably对象属性,javascript,reactjs,loops,object,Javascript,Reactjs,Loops,Object,每个对象属性都在第一个字母下面加下划线; 我想删除第一个子字符串,并尝试对所有对象属性使用字符串方法“replace”,但在这种情况下不起作用 // nested object const posts = { // ... 'post-meta-fields': { _bg_advantages_home: [''], _bg_banner_home: ['35'], _bg_info_1_home: ['41'], _bg_info_2_home: ['
// nested object
const posts = {
// ...
'post-meta-fields': {
_bg_advantages_home: [''],
_bg_banner_home: ['35'],
_bg_info_1_home: ['41'],
_bg_info_2_home: [''],
_bg_offers_home: ['38'],
_bg_sales_home: ['36'],
_bg_video_home: ['']
}
// ...
};
// I tried this, but its not working
for (const key in posts['post-meta-fields']) {
for (let key_2 in key) {
key_2 = key_2.replace('_', '');
}
}
现在只需删除旧密钥并添加新密钥:
let newKey = key_2.replace('_','');
key.newKey = key[key_2];
delete key[key_2];
也许你可以这样做
const tempObj = {};
for(let key in posts["post-meta-fields"]) {
const modifiedKey = key.replace('_','');
tempObj[modifiedKey] = posts["post-meta-fields"][key]
}
posts["post-meta-fields"] = tempObj;
希望你有一些想法 应该是
posts['post-meta-fields'][newKey]
,而不是key。newKey
…点运算符在那里不起作用,基本对象不应该是key
谢谢,它有助于解决此问题!!!