我想从基于键子串的扁平动态对象创建多级JSON数组
动态对象示例
{
Honda_Bike: "white",
Pulsar_Bike: "black",
Royal_Enfield_Bike: "red",
Hyundai_Car: "blue",
Mercedes_Car: "grey",
BMW_Car: "red"
}Json多级数组示例
[{
vehicle : {
bike: {
Honda_Bike: "white",
Pulsar_Bike: "black",
Royal_Enfield_Bike: "red"
},
car: {
Hyundai_Car: "blue",
Mercedes_Car: "grey",
BMW_Car: "red"
},
}
}]发布于 2018-05-10 14:06:19
使用reduce遍历输入对象的条目,以检查条目并将其分类为所需的输出格式:
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);
https://stackoverflow.com/questions/50266392
复制相似问题