使用js编写一个随机生成中国内地城市地址的函数,省份包括:北京市,天津市,河北省,山西省,内蒙古,辽宁省,吉林省,黑龙江省,山东省,地址由:省-市-区来组成。需要包含中国内地的完整省-市-区的数据。
要编写一个随机生成中国内地城市地址的函数,我们需要一个包含省、市、区的完整数据结构。由于数据量较大,这里提供一个简化版本的示例,包含部分省、市、区的数据。你可以根据需要扩展这个数据结构。
const chinaAddressData = {
"北京市": {
"市辖区": ["东城区", "西城区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "怀柔区", "平谷区", "密云区", "延庆区"]
},
"天津市": {
"市辖区": ["和平区", "河东区", "河西区", "南开区", "河北区", "红桥区", "东丽区", "西青区", "津南区", "北辰区", "武清区", "宝坻区", "滨海新区", "宁河区", "静海区", "蓟州区"]
},
"河北省": {
"石家庄市": ["长安区", "桥西区", "新华区", "井陉矿区", "裕华区", "藁城区", "鹿泉区", "栾城区"],
"唐山市": ["路南区", "路北区", "古冶区", "开平区", "丰南区", "丰润区", "曹妃甸区"]
},
"山西省": {
"太原市": ["小店区", "迎泽区", "杏花岭区", "尖草坪区", "万柏林区", "晋源区"],
"大同市": ["城区", "矿区", "南郊区", "新荣区"]
},
"内蒙古": {
"呼和浩特市": ["新城区", "回民区", "玉泉区", "赛罕区"],
"包头市": ["东河区", "昆都仑区", "青山区", "石拐区", "白云鄂博矿区", "九原区"]
},
"辽宁省": {
"沈阳市": ["和平区", "沈河区", "大东区", "皇姑区", "铁西区", "苏家屯区", "浑南区", "沈北新区", "于洪区"],
"大连市": ["中山区", "西岗区", "沙河口区", "甘井子区", "旅顺口区", "金州区"]
},
"吉林省": {
"长春市": ["南关区", "宽城区", "朝阳区", "二道区", "绿园区", "双阳区", "九台区"],
"吉林市": ["昌邑区", "龙潭区", "船营区", "丰满区"]
},
"黑龙江省": {
"哈尔滨市": ["道里区", "南岗区", "道外区", "平房区", "松北区", "香坊区", "呼兰区", "阿城区"],
"齐齐哈尔市": ["龙沙区", "建华区", "铁锋区", "昂昂溪区", "富拉尔基区", "碾子山区", "梅里斯达斡尔族区"]
},
"山东省": {
"济南市": ["历下区", "市中区", "槐荫区", "天桥区", "历城区", "长清区"],
"青岛市": ["市南区", "市北区", "黄岛区", "崂山区", "李沧区", "城阳区"]
}
};
function getRandomElement(arr) {
return arr[Math.floor(Math.random() * arr.length)];
}
function generateRandomAddress() {
const provinces = Object.keys(chinaAddressData);
const selectedProvince = getRandomElement(provinces);
const cities = Object.keys(chinaAddressData[selectedProvince]);
const selectedCity = getRandomElement(cities);
const districts = chinaAddressData[selectedProvince][selectedCity];
const selectedDistrict = getRandomElement(districts);
return `${selectedProvince}-${selectedCity}-${selectedDistrict}`;
}
console.log(generateRandomAddress());
这个函数 generateRandomAddress
会随机生成一个中国内地的地址,格式为 省-市-区
。你可以根据需要扩展 chinaAddressData
对象,添加更多的省、市和区。