这个答案how to change json object name (key)? 提供了一种替换 JSON 对象中的名称/键的方法,但我在使其正常工作时遇到了问题。
我正在从库中获取一些字段,例如 getColumnTitle
等,这些字段附加了数字来标识 Title
来自哪一列。因为我需要与行关联的值并且具有唯一的列分组标识符,所以附加的数字会在服务器端造成困难。因此我需要删除数字后缀或附加的数值。
这就是我试图用下面的代码做的事情,但是我得到了
TypeError: getTaskCellData.remove is not a function
错误。
这是代码。
var getColumnTitle = "hour231";
var getTaskCellData = {"hour231":23,"name":"hello world","other":"fields"};
var alphaTitle = getColumnTitle.replace(/[0-9]/g, '');
getTaskCellData.put(alphaTitle, getTaskCellData.remove(getColumnTitle));
console.log(getTaskCellData)
最佳答案
您链接到的答案是针对 JAVA,而不是 JavaScript...对象文字,当您将其存储在 getTaskCellData 中时,其原型(prototype)上没有 remove
,因此您不能用那个。就我个人而言,我认为不值得使用代码来重命名对象的属性,只需添加一个具有相同值的新属性即可。如果您确实坚持要重命名,也可以执行相同的操作并另外使用删除
。
var getColumnTitle = "hour231";
var getTaskCellData = {"hour231":23,"name":"hello world","other":"fields"};
var alphaTitle = getColumnTitle.replace(/[0-9]/g, '');
getTaskCellData[alphaTitle] = getTaskCellData[getColumnTitle];
delete getTaskCellData[getColumnTitle];
console.log(getTaskCellData)
关于javascript - 替换对象中的对象键名报告 "is not a function"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50482815/