javascript - 如何在 javascript 中将项目转换为键/值对对象?

标签 javascript list arraylist

我在将我的数据结构转换为键/值项时遇到问题。

我已经尝试了一些映射和转换,但是我想要的输出没有显示在我的控制台上。

我的函数有以下代码输出:

控制台: {BLAU: Array(1), ROT: Array(2)}

并打开:

控制台:

- BLAU: [{…}]
- ROT: (2) [{…}, {…}]

const vorher = [{
    BLAU: [{
      type: 'mytype1'
    }],
  },
  {
    ROT: [{
      type: 'mytype1'
    }],
    [{
      type: 'mytype2'
    }]
  }
];

我想要的输出应该是这样的:

const nachher = [{
    farbe: 'BLAU',
    typen: [{
      type: 'mytype1'
    }]
  },
  {
    farbe: 'ROT',
    typen: [{
      type: 'mytype1'
    }],
    [{
      type: 'mytype2'
    }]
  },
];

编辑:

我有一个函数 [{...}, {...}, {...}] 的输出,它看起来像这样:

[ { 编号:100, 系统:{id:101,标签:“BLAU”,createdAt:“2019-07-30”}, 细节: [{...},{...}], 信息:“测试” }, { 编号:400, 系统:{id:404,标签:“ROT”,createdAt:“2019-07-30”}, 细节: [{...},{...}], 信息:“测试” } ]

我想按 系统标签 将其与上面所需的输出分组。 GroupBy 只返回一个对象。

最佳答案

您可以获取对象的第一个条目,将其解构为所需的键/值对,然后返回一个新对象。

const
    data = [{ BLAU: [{ type: 'mytype1' }] }, { ROT: [{ type: 'mytype1' }, { type: 'mytype2' }] }],
    result = data.map(o => {
        var [farbe, typen] = Object.entries(o)[0];
        return { farbe, typen };
    });

console.log(result);

关于javascript - 如何在 javascript 中将项目转换为键/值对对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57508892/

相关文章:

java - 从 ArrayList 重新绘制类的实例

javascript - 如何在移动浏览器中改变方向时隐藏浏览器地址栏?

javascript - 使用 window.location.href 防止 'Confirm Navigation' 警报

javascript - 无法使用 Node.js 将大块数据填充到 mongodb

javascript - 在 HTML5 和 CSS3 中对齐下拉列表和输入框

list - 从列表中复制第 n 个值

python - 如何遍历列表直到到达最后一个元素,然后向后遍历它直到到达第一个元素,然后重复?

java - 当我没有填写数组列表中对象的所有值时,如何防止我的 java 代码给出错误消息?

list - Ansible 将列表项连接到字符串中,包括引号

java - 使用正则表达式从字符串中拆分数字