【发布时间】:2016-11-01 07:20:13
【问题描述】:
我有一个如下的关联数组。每当子类别超过 5 个时,我需要将其分成 2 个或更多部分。有可能吗? 我需要javascript代码来动态地分割这个数组,这样一个类别应该只有5个子类别,如果一个类别中有5个以上的子类别,它应该创建一个与剩余子类别同名的类别.
var obj = [
{
"categoryId": "57f22e84c3ed2bd632c061bf",
"categoryName": "VODKA"
},
"subCategory": [
{
"subCategoryId": "57fdf5a3c3ed2bd632c06225",
"subCategoryName": "Grey goose"
},
{
"subCategoryId": "57fdf5fcc3ed2bd632c06227",
"subCategoryName": "Absolut Elyx"
},
{
"subCategoryId": "57fdf5c2c3ed2bd632c06226",
"subCategoryName": "Belvedere"
},
{
"subCategoryId": "57fdf627c3ed2bd632c06229",
"subCategoryName": "Absolut"
},
{
"subCategoryId": "57fdf61fc3ed2bd632c06228",
"subCategoryName": "Finlandia"
},
{
"subCategoryId": "57fdf64cc3ed2bd632c0622a",
"subCategoryName": "Absolut flavoured"
}
]
},
{
"categoryId": "57f22f18c3ed2bd632c061c4",
"categoryName": "SCOTCH WHISKY"
},
"priority": 2,
"subCategory": [
{
"subCategoryId": "57fdf163c3ed2bd632c06217",
"subCategoryName": "Blue lable"
},
{
"subCategoryId": "57fdf236c3ed2bd632c06218",
"subCategoryName": "Royal sulte"
},
{
"subCategoryId": "57fdf24ac3ed2bd632c06219",
"subCategoryName": "Chivas 18yr"
},
{
"subCategoryId": "57fdf2bfc3ed2bd632c0621a",
"subCategoryName": "J/W Gold lable"
},
{
"subCategoryId": "57fdf2f9c3ed2bd632c0621d",
"subCategoryName": "Chivas extra"
},
{
"subCategoryId": "57fdf2d7c3ed2bd632c0621b",
"subCategoryName": "Chivas 12yr"
},
{
"subCategoryId": "57fdf2edc3ed2bd632c0621c",
"subCategoryName": "J/W Black lable"
},
{
"subCategoryId": "57fdf32ac3ed2bd632c0621e",
"subCategoryName": "J/W Red lable"
}
]
}]
预期的结果应该是
var expectedResult = [
{
"categoryId": "57f22e84c3ed2bd632c061bf",
"categoryName": "VODKA"
},
"subCategory": [
{
"subCategoryId": "57fdf5a3c3ed2bd632c06225",
"subCategoryName": "Grey goose"
},
{
"subCategoryId": "57fdf5fcc3ed2bd632c06227",
"subCategoryName": "Absolut Elyx"
},
{
"subCategoryId": "57fdf5c2c3ed2bd632c06226",
"subCategoryName": "Belvedere"
},
{
"subCategoryId": "57fdf627c3ed2bd632c06229",
"subCategoryName": "Absolut"
},
{
"subCategoryId": "57fdf61fc3ed2bd632c06228",
"subCategoryName": "Finlandia"
},
]
},
{
"categoryId": "57f22e84c3ed2bd632c061bf",
"categoryName": "VODKA"
},
"subCategory": [
{
"subCategoryId": "57fdf64cc3ed2bd632c0622a",
"subCategoryName": "Absolut flavoured"
}
]
},
{
"categoryId": "57f22f18c3ed2bd632c061c4",
"categoryName": "SCOTCH WHISKY"
},
"priority": 2,
"subCategory": [
{
"subCategoryId": "57fdf163c3ed2bd632c06217",
"subCategoryName": "Blue lable"
},
{
"subCategoryId": "57fdf236c3ed2bd632c06218",
"subCategoryName": "Royal sulte"
},
{
"subCategoryId": "57fdf24ac3ed2bd632c06219",
"subCategoryName": "Chivas 18yr"
},
{
"subCategoryId": "57fdf2bfc3ed2bd632c0621a",
"subCategoryName": "J/W Gold lable"
},
{
"subCategoryId": "57fdf2f9c3ed2bd632c0621d",
"subCategoryName": "Chivas extra"
}
]
},
{
"categoryId": "57f22f18c3ed2bd632c061c4",
"categoryName": "SCOTCH WHISKY"
},
"priority": 2,
"subCategory": [
{
"subCategoryId": "57fdf2d7c3ed2bd632c0621b",
"subCategoryName": "Chivas 12yr"
},
{
"subCategoryId": "57fdf2edc3ed2bd632c0621c",
"subCategoryName": "J/W Black lable"
},
{
"subCategoryId": "57fdf32ac3ed2bd632c0621e",
"subCategoryName": "J/W Red lable"
}
]
}
]
【问题讨论】:
-
你想怎么分割呢?预期的结果是什么?
-
拆分的项目应该怎么办?
-
预期结果应该是
标签: javascript angularjs arrays split associative