无法替换Javascript中对象数组的键
Unable to replace key for an array of objects in Javascript
我有一个对象数组,需要重命名键。
这是我的方法:
将对象数组转换为JSON,替换密钥,然后执行JSON.parse
用newKey替换oldKey失败,因为这是一个数组!
这是我的JSON字符串。
str "[{'"194240_0900217'":'"500'"},{'"194242_0900294'":'"600'"}]"
我需要这样:
str "[{'"194240'":'"500'"},{'"194242'":'"600'"}]"
有没有其他更好的方法来实现这一点?
这是Regex
var str="[{'"194240_0900217'":'"500'"},{'"194242_0900294'":'"600'"}]"
var a=str.replace(/(_'d+)/g,"")
console.log(a);
// [{"194240":"500"},{"194242":"600"}]
一个jsfiddle
使用for in
循环,在添加替换属性后使用delete
,或者在阅读"如何从JavaScript对象中删除属性"后,根据您的偏好将旧属性设置为undefined
?
var data = {
"194240_0900217": "500",
"194242_0900294": "600"
};
var k,
matches;
console.log(data);
for (k in data) {
if (data.hasOwnProperty(k)) {
matches = k.match(/('d+)_'d+/);
if (matches) {
data[matches[1]] = data[k];
delete data[k];
}
}
}
console.log(data);
此打印:
{ '194240_0900217': '500', '194242_0900294': '600' }
{ '194240': '500', '194242': '600' }
相关文章:
- 将数组对象传递到struts2中的操作类
- 如何使用jquery返回php-json数组对象
- 从其名称获取javascript数组对象
- 值未与数组对象绑定
- 如何按数组/对象值的倍数过滤对象数组
- 在表中显示数组对象
- 在数组对象中分组
- 将第二个或多个数组推送到数组对象 AngularJS 中
- 重新排列 JavaScript 数组/对象
- 键上的javascript数组对象过滤器
- handontable:在不更改数据数组/对象的情况下隐藏某些列
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 重建有角度的java脚本数组对象
- 对JSON数组对象进行排序
- 连接与数组对象相关的文本:方式和位置
- 哪些浏览器和版本支持将常见的类数组对象直接传递到fn.apply()
- 如何使用Handlebars循环数组对象和模板
- 是否可以引用JS数组/对象中的另一个元素
- Javascript中的名称索引-数组/对象
- 数组长度不等于数组对象