首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Javascript将动态对象转换为基于键子串的多级JSON数组

用Javascript将动态对象转换为基于键子串的多级JSON数组
EN

Stack Overflow用户
提问于 2018-05-10 13:57:18
回答 4查看 242关注 0票数 5

我想从基于键子串的扁平动态对象创建多级JSON数组

动态对象示例

代码语言:javascript
运行
复制
{
  Honda_Bike: "white",
  Pulsar_Bike: "black",
  Royal_Enfield_Bike: "red",
  Hyundai_Car: "blue",
  Mercedes_Car: "grey",
  BMW_Car: "red"
}

Json多级数组示例

代码语言:javascript
运行
复制
[{
  vehicle : {
    bike: {
      Honda_Bike: "white",
      Pulsar_Bike: "black",
      Royal_Enfield_Bike: "red"
    },
    car: {
      Hyundai_Car: "blue",
      Mercedes_Car: "grey",
      BMW_Car: "red"
    },
  }
}]
EN

Stack Overflow用户

发布于 2018-05-10 14:06:19

使用reduce遍历输入对象的条目,以检查条目并将其分类为所需的输出格式:

代码语言:javascript
运行
复制
const input = {
  Honda_Bike: "white",
  Pulsar_Bike: "black",
  Royal_Enfield_Bike: "red",
  Hyundai_Car: "blue",
  Mercedes_Car: "grey",
  BMW_Car: "red"
};
const output = [{ }];
output[0].vehicle = Object.entries(input).reduce((a, [key, val]) => {
  const vehicleName = key.match(/([^_]+)$/)[0];
  if (!a[vehicleName]) a[vehicleName] = {};
  a[vehicleName][key] = val;
  return a;
}, {});
console.log(output);

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

https://stackoverflow.com/questions/50266392

复制
相关文章

相似问题

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