我正在尝试将嵌套数组减少为对象数组,因为我想将多级数组拆分为数组的单个对象
这是我想要减少的数组结构
var array1 = [
{
"course": "ABC"
"skills":["skill1", "skill2"],
},
{
"course": "DEF"
"skills":["skill1"],
},
{
"course": "GHI"
"skills":["skill1", "skill2", "skill3"],
}
]
我期望的结果
var array1 = [
{
"course": "ABC"
"skill":"skill1",
},
{
"course": "ABC"
"skill":"skill2",
},
{
"course": "DEF"
"skill":"skill1",
},
{
"course": "GHI"
"skills":"skill1",
},
{
"course": "GHI"
"skills":"skill2",
},
{
"course": "GHI"
"skill": "skill3",
}
]
最佳答案
var array1 = [
{
course: "ABC",
skills:["skill1", "skill2"]
},
{
course: "DEF",
skills: ["skill1"]
},
{
course: "GHI",
skills: ["skill1", "skill2", "skill3"]
}
];
const flatten = array =>
array.reduce((results, item) => [...results, ...item.skills.map(skill => ({ course: item.course, skill: skill }))], []);
console.log(flatten(array1));
关于javascript - 如何将嵌套数组减少为单个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56783652/