Javascript 如何将基于ID的对象转换为对象数组?
我有这样的数据:Javascript 如何将基于ID的对象转换为对象数组?,javascript,arrays,Javascript,Arrays,我有这样的数据: { "-L8BpxbS70KYrZMQUF0W": { "createdAt": "2018-03-22T16:33:57+08:00", "email": "ss@ss.ss", "name": "ss" }, "-KYrZMQUF0WL8BpxbS70": { // etc. } } 我想把它变成这样: [{ id: '-L8BpxbS70KYrZMQUF0W createdAt: "2018-03-22T16:
{
"-L8BpxbS70KYrZMQUF0W": {
"createdAt": "2018-03-22T16:33:57+08:00",
"email": "ss@ss.ss",
"name": "ss"
},
"-KYrZMQUF0WL8BpxbS70": {
// etc.
}
}
我想把它变成这样:
[{
id: '-L8BpxbS70KYrZMQUF0W
createdAt: "2018-03-22T16:33:57+08:00",
email: "ss@ss.ss",
name: "ss"
}, {
id: -KYrZMQUF0WL8BpxbS70"
// etc.
}]
我从这个开始:
Object.keys(idBasedObjects).forEach(key => {
console.log(resp[key])
})
但是我得到了未定义的
创建此数组的最佳方法是什么?使用获取键和值,并使用以下命令将它们转换为所需的格式:
const obj={“-L8BpxbS70KYrZMQUF0W”:{“createdAt”:“2018-03-22T16:33:57+08:00”,“电子邮件”:”ss@ss.ss“,”名称“:“ss”},”-KYrZMQUF0WL8BpxbS70:{};
const result=Object.entries(obj.map)([id,props])=>({
身份证件
…道具
}));
控制台日志(结果)代码>使用获取键和值,并使用以下命令将它们转换为所需格式:
const obj={“-L8BpxbS70KYrZMQUF0W”:{“createdAt”:“2018-03-22T16:33:57+08:00”,“电子邮件”:”ss@ss.ss“,”名称“:“ss”},”-KYrZMQUF0WL8BpxbS70:{};
const result=Object.entries(obj.map)([id,props])=>({
身份证件
…道具
}));
控制台日志(结果)代码>使用对象.键
,对象.分配
和映射
var output = Object.keys(obj).map( s => Object.assign( obj[s], {id : s} ))
演示
var obj={
“-L8BPKBS70KYRZMQUF0W”:{
“createdAt”:“2018-03-22T16:33:57+08:00”,
“电子邮件”:ss@ss.ss",
“名称”:“ss”
},
“-KYrZMQUF0WL8BpxbS70”:{
“createdAt”:“2018-03-22T16:33:57+08:00”,
“电子邮件”:s2s@ss.ss",
“名称”:“ss2”
}
};
var output=Object.keys(obj.map)(s=>Object.assign(obj[s]){
id:s
}));
控制台日志(输出)代码>使用对象.键
,对象.分配
和映射
var output = Object.keys(obj).map( s => Object.assign( obj[s], {id : s} ))
演示
var obj={
“-L8BPKBS70KYRZMQUF0W”:{
“createdAt”:“2018-03-22T16:33:57+08:00”,
“电子邮件”:ss@ss.ss",
“名称”:“ss”
},
“-KYrZMQUF0WL8BpxbS70”:{
“createdAt”:“2018-03-22T16:33:57+08:00”,
“电子邮件”:s2s@ss.ss",
“名称”:“ss2”
}
};
var output=Object.keys(obj.map)(s=>Object.assign(obj[s]){
id:s
}));
控制台日志(输出)我得说。我得说,这是一个非常干净优雅的解决方案。这是一个非常干净和优雅的解决方案。