【发布时间】:2021-04-23 01:40:05
【问题描述】:
我有一个如下所示的多维数组(列),需要将其转换为对象数组,形成一个分组的层次结构来构造表头。
每个值都必须按索引顺序嵌套并分组。任何指针如何实现这一点?
var columns = [
["Price", "Australia", "Melbourne", "Comfort Hotel & Spa"],
["Price", "Costa Rica", "Tamarindo", "Summer Isle Hotel"],
["Stars", "Fiji", "Suva", "Crescent Resort1"],
["Stars", "Fiji", "Suva", "Crescent Resort2"],
];
//need it to be transformed into structure like this
var transformedArray = [{
Header: 'Price',
columns: [{
Header: 'Australia',
columns: [{
Header: 'Melbourne',
columns: [{
Header: 'Comfort Hotel & Spa',
value: 'Price-Australia-Melbourne-Comfort Hotel & Spa'
}]
}]
}, {
Header: 'Costa Rica',
columns: [{
Header: 'Tamarindo',
columns: [{
Header: 'Summer Isle Hotel',
value: 'Price-Costa Rica-Tamarindo-Summer Isle Hotel'
}]
}]
}]
}, {
Header: 'Stars',
columns: [{
Header: 'Fiji',
columns: [{
Header: 'Suva',
columns: [{
Header: 'Crescent Resort1',
value: 'Stars-Fiji-suva-Crescent Resort1'
},
{
Header: 'Crescent Resort2',
value: 'Stars-Fiji-suva-Crescent Resort2'
}
]
}]
}]
}]
【问题讨论】:
标签: javascript arrays json multidimensional-array nested-loops