lau*_*kok 3 javascript for-loop
如何更改键名称但键入其值?
例如,我存储了以下 json 数据:
{ particles:
{ name: 'particles',
values: [ [Object], [Object], [Object], [Object], [Object] ] },
timestamps:
{ name: 'timestamps',
values: [ [Object], [Object], [Object], [Object], [Object] ] }
}
Run Code Online (Sandbox Code Playgroud)
我将循环此输入并更改密钥:
{ particles: 'particle', timestamps: 'timestamp' }
Run Code Online (Sandbox Code Playgroud)
更改particles为particle和timestamps到timestamp
我的尝试:
for (var property in data) {
stored[data[property]] = stored[property].values;
stored[property].name = data[property];
}
Run Code Online (Sandbox Code Playgroud)
我只设法更改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);Run Code Online (Sandbox Code Playgroud)