这个答案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)
答案 0 :(得分:4)
你链接到的答案是针对JAVA,而不是JavaScript ......一个对象文字,因为它存储在getTaskCellData中,它的原型上没有remove
,所以你可以'用那个。就个人而言,我认为重命名对象的属性值得代码,只需添加一个具有相同值的新属性即可。如果你真的坚持重命名,你也可以这样做,另外使用delete
。
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)