替换对象中的对象键名称报告“不是函数”错误

时间:2018-05-23 07:53:59

标签: javascript json

这个答案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)

1 个答案:

答案 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)