const areaList = [
{
"id": 1,
"name": "北京",
"code": 110000,
"children": [
{
"id": 2,
"name": "北京市",
"code": 110100,
"children": [
{
"id": 3,
"name": "东城区",
"code": 110101,
"children": []
},
{
"id": 4,
"name": "西城区",
"code": 110102,
"children": []
},
{
"id": 5,
"name": "朝阳区",
"code": 110105,
"children": []
},
{
"id": 6,
"name": "丰台区",
"code": 110106,
"children": []
},
{
"id": 7,
"name": "石景山区",
"code": 110107,
"children": []
},
{
"id": 8,
"name": "海淀区",
"code": 110108,
"children": []
},
{
"id": 9,
"name": "门头沟区",
"code": 110109,
"children": []
},
{
"id": 10,
"name": "房山区",
"code": 110111,
"children": []
},
{
"id": 11,
"name": "通州区",
"code": 110112,
"children": []
},
{
"id": 12,
"name": "顺义区",
"code": 110113,
"children": []
},
{
"id": 13,
"name": "昌平区",
"code": 110114,
"children": []
},
{
"id": 14,
"name": "大兴区",
"code": 110115,
"children": []
},
{
"id": 15,
"name": "怀柔区",
"code": 110116,
"children": []
},
{
"id": 16,
"name": "平谷区",
"code": 110117,
"children": []
},
{
"id": 17,
"name": "密云县",
"code": 110228,
"children": []
},
{
"id": 18,
"name": "延庆县",
"code": 110229,
"children": []
}
]
}
]
},
]
function getValue(data, cb) {
for(const item of data) {
if(cb(item)) return item
if(Array.isArray(item.children)) {
const child = getValue(item.children, cb)
if(child) return child
}
}
return null;
}
const item = getValue(areaList, item => item.id == 3)
console.log(item)
多层级数据,通过某一字段匹配数据
最新推荐文章于 2024-06-14 11:01:38 发布