问题描述
我想转换此对象
var users = {
'c9b17cd29025fae1189168f55bd13f4e' : {
name: 'abc',amountMsg: 11
},'02d3c5737ac8861a6e80cf50322745e2': {
name: 'def',amountMsg: 8
},'312wewq213a6e80hj43l42lmn6m7n3m': {
name: 'ghj',amountMsg: 4
}
};
喜欢这样
var users = [
{
id : 'c9b17cd29025fae1189168f55bd13f4e',name: 'abc',amountMsg: 11
},{
id : '02d3c5737ac8861a6e80cf50322745e2',name: 'def',amountMsg: 8
},{
id : '312wewq213a6e80hj43l42lmn6m7n3m',name: 'ghj',amountMsg: 4
}
];
此用户返回了我的server.js,我想将其转换为第二个以便轻松访问值
谢谢
解决方法
我假设在第二个示例中需要数组。
var users = {
'c9b17cd29025fae1189168f55bd13f4e' : {
name: 'abc',amountMsg: 11
},'02d3c5737ac8861a6e80cf50322745e2': {
name: 'def',amountMsg: 8
},'312wewq213a6e80hj43l42lmn6m7n3m': {
name: 'ghj',amountMsg: 4
}
};
let formattedUsers = Object.entries(users).map(([id,data]) => ({id: id,...data}));
console.log(formattedUsers);
,
对象必须具有键。但是,如果要将对象集转换为数组,则可以执行下一步:
var users = {
'c9b17cd29025fae1189168f55bd13f4e' : {
name: 'abc',amountMsg: 4
}
};
var modified = Object.keys(users).map(key => ({
...users[key],id: key,}));
console.log(modified);