Maison > Questions et réponses > le corps du texte
[
dictprovinceVOList[{
areaId: 13257
cityAreaList:[
{
areaCode: "1853"
areaId: 13265
areaList:
firstLetter:"S"
langType:"zh_CN"
latitude:22.124049
longitude:
113.559954
parentId:13257
pinYin:"shengfangjigetangqu"
postCode:"820008"
sortValue:8
title:"圣方济各堂区"
},
{
...
}]
parentId: 0
sortValue: 34
title:"澳门特别行政区"
},{
areaId:13238
cityAreaList:[
{
areaCode: "1853"
areaId: 13265
areaList:
firstLetter:"S"
langType:"zh_CN"
latitude:22.124049
longitude:
113.559954
parentId:13257
pinYin:"shengfangjigetangqu"
postCode:"820008"
sortValue:8
title:"圣方济各堂区"
},{
...
}]
parentId:0
sortValue:33
title:"香港特别行政区"
}]
]
{
"iniData":"S",
"cityAreaList":[
{
"areaCode":"1853","areaId": 372, ...
},
{...}
]
}
PHP中文网2017-05-19 10:47:12
lodash ne devrait pas avoir de fonction en une seule étape
Mais il existe une fonction groupBy qui peut être utilisée pour regrouper
Vous pouvez utiliser une boucle pour combiner la cityAreaList de toutes les villes dans un tableau
let array = [];
for(let city of citylist){
array = array.contact(city.cityAreaList)
}
puis
_.groupBy(array,function(obj){
return obj["firstLetter"];
})
L'objet renvoyé est à peu près de cette structure
{
s:[
{
"areaCode":"1853","areaId": 372, ...},
{...}
]
p:{
...
}
}
La clé de cet objet est le "iniData" que vous souhaitez
Le reste est simple
Utilisez Object.keys() pour obtenir toutes les clés de l'objet
let keys = Object.keys(object);
let newArr = [];
for(let key of keys){
newArr.push(
{
"iniData":key,
"cityAreaList":object[key]
}
)
}
Ce nouvelArr est le résultat que vous souhaitez