如何解决如何从JavaScript对象数组的键中删除字符?
result = [
{"Account_ID__r.Name":"Yahoo Inc Taiwan","Contact_ID__r.Email":"jvernold@thestar.com"},{"Account_ID__r.Name":"WXIA-TV","Contact_ID__r.Email":"jwoolbright@11e.com"}
]
我需要从对象的键中删除句点(。)。 (例如:键Account_ID__r.Name
应该变成Account_ID__rName
)
上面的数组应如下所示:
result = [
{"Account_ID__rName":"Yahoo Inc Taiwan","Contact_ID__rEmail":"jvernold@thestar.com"},{"Account_ID__rName":"WXIA-TV","Contact_ID__rEmail":"jwoolbright@11e.com"}
]
我尝试使用for (var key of Object.keys(result)) { }
来构造一个新数组,但是没有用。
我尝试过的代码:
result.forEach(item => {
for (var key of Object.keys(item)) {
var keyWithoutPeriod = key.replace(/\./g,'');
this.datatableData.push({
[keyWithoutPeriod]: item[key]
});
}
});
它的代码转换如下:
datatable = [
{"Account_ID__rName":"Yahoo Inc Taiwan"},{"Contact_ID__rEmail":"jvernold@thestar.com"},{"Account_ID__rName":"WXIA-TV"},{"Contact_ID__rEmail":"jwoolbright@11e.com"}
]
这不是我需要的格式。请帮忙。谢谢?。
解决方法
您可以获取条目,替换不需要的字符并构建新对象。
const
data = [
{ "Account_ID__r.Name": "Yahoo Inc Taiwan","Contact_ID__r.Email": "jvernold@thestar.com" },{ "Account_ID__r.Name": "WXIA-TV","Contact_ID__r.Email": "jwoolbright@11e.com" }
],result = data.map(o => Object.fromEntries(Object.entries(o).map(([k,v]) => [k.replace(/\./,''),v])));
console.log(result);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。