首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将对象重新格式化为另一种对象格式

将对象重新格式化为另一种对象格式
EN

Stack Overflow用户
提问于 2022-03-16 07:30:06
回答 1查看 89关注 0票数 -1

我有一个对象模式:

代码语言:javascript
复制
{
    car: [
      {
         //Object data
      }
    ],
    motorcycle: [
      {
         //Object data
      }
    ],
    ...
}

我的问题是,我是如何把汽车和摩托车上的所有物体放在一个物体上的:

基本上我要把摩托车和汽车的所有钥匙,价值对放在一个物体上-

代码语言:javascript
复制
{
   key1 : {//Object Data},
   key2 : {//Object Data},
}
EN

回答 1

Stack Overflow用户

发布于 2022-03-16 07:42:58

一种使用Object.entriesmapObject.fromEntries的可能方法,假设原始对象的键数组中有一个元素

代码语言:javascript
复制
const a = {
    car: [
      {
       data1: 'data car'
      }
    ],
    motorcycle: [
      {
        data2: 'data cycle'
      }
    ],
}

let x = Object.fromEntries(Object.entries(a).map(([key,[val]],index)=> [`key${index+1}`,val]))

console.log(x)

如果键数组中的多个对象可以执行以下操作

代码语言:javascript
复制
const a = {
    car: [
      {
       data1: 'data car 1'
      },
      {
       data2: 'data car 2'
      }
    ],
    motorcycle: [
      {
        data3: 'data cycle 3'
      }
    ],
}

//Object.entries in case you want access to car,motorcycle....
let x = Object.fromEntries(Object.entries(a).flatMap(([key,val])=> val).map((e,index)=>[`key${index+1}`,e] ))

//this should work if no need to access car,motocycle..
// let x = Object.fromEntries(Object.values(a).flatMap((val)=> val).map((e,index)=>[`key${index+1}`,e] ))
 
console.log(x)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71493175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档