javascript - 替换对象中的对象键名报告 "is not a function"错误

标签 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)

最佳答案

您链接到的答案是针对 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/

相关文章:

javascript - 当我按相同的属性进行过滤时,如何查看已过滤的对象数组中属性的变化?

javascript - Tinymce 如何在新添加的文本区域上调用 init?

ruby - 清理 ruby​​ 中的奇怪编码

javascript - 如何使用 jQuery 和 CSS 制作老虎机效果

javascript - 这段 JavaScript 中没有任何反应

json - go 程序中的时间总是 0

php - 从 Laravel 中的 JSON 字符串中删除添加的反斜杠

c# - 无法将 json 反序列化为 ASP.Net MVC 中的抽象类

android - 使用带有 Retrofit 和 Kotlin 的 moshi 将 jsonarray 解析为对象

javascript - 使用 Tablesorter/jquery 表格行悬停突出显示?