`
// 根据name和value生成新的数据
const specification = [
{
name: '颜色',
value: ['白色', '绿色', '黄色']
},
{
name: '尺寸',
value: ['L', 'M']
}
]
// 需要转换成对应格式
const specification = [{
specifications: [
{
key: '颜色',
value: '白色'
},
{
key: '尺寸',
value: 'L'
}
]
},
{
specifications: [
{
key: '颜色',
value: '绿色'
},
{
key: '尺寸',
value: 'M'
}
]
}]
`
`
// 处理数据
for (let a = 0; a < specification.length; a++) {
if (specification[a].value) {
specification[a].specifications = []
const value = specification[a].value
for (let b = 0; b < value.length; b++) {
const json = {
key: specification[a].name,
value: specification[a].value[b]
}
specification[a].specifications.push(json)
}
}
}
// 处理后的数据, 全部push在同一个数组中了
const specification = [
{
specifications: [
{ key: '颜色', value: '白色' },
{ key: '颜色', value: '绿色' },
{ key: '颜色', value: '黄色' }
]
}
]
`
确定
specification
是只有2个纬度吗?如果是的可以用二维数组的方式搞一把