如何更改键名但键入其值?
例如,我存储了这个 json 数据:
{ particles:
{ name: 'particles',
values: [ [Object], [Object], [Object], [Object], [Object] ] },
timestamps:
{ name: 'timestamps',
values: [ [Object], [Object], [Object], [Object], [Object] ] }
}
我将循环此输入并更改 key :
{ particles: 'particle', timestamps: 'timestamp' }
将particles
更改为particle
,将timestamps
更改为timestamp
我的尝试:
for (var property in data) {
stored[data[property]] = stored[property].values;
stored[property].name = data[property];
}
我只设法更改了存储数据中的name
值,但没有更改key name...
有什么想法吗?
最佳答案
通过获取旧属性值分配新属性,然后删除旧属性。
var data = {
particles: {
name: 'particles',
values: []
},
timestamps: {
name: 'timestamps',
values: []
}
}
var newK = {
particles: 'particle',
timestamps: 'timestamp'
};
// get all object keys and iterate over them
Object.keys(newK).forEach(function(ele) {
// assign object property based on old property value
data[newK[ele]] = data[ele];
// update name property
data[newK[ele]].name = newK[ele];
// delete old object property
delete data[ele];
})
console.log(data);
关于Javascript:如何循环和更改键名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37982805/