JavaScript随机生成中国内地城市地址的函数示例

ChatGPT4o 使用 ChatGPT 4o 回答

问题:

使用js编写一个随机生成中国内地城市地址的函数,省份包括:北京市,天津市,河北省,山西省,内蒙古,辽宁省,吉林省,黑龙江省,山东省,地址由:省-市-区来组成。

回答:

要编写一个随机生成中国内地城市地址的函数,我们可以先定义一个包含省份、市和区的对象,然后通过随机选择的方式生成地址。以下是一个示例代码:

function getRandomElement(arr) {
    return arr[Math.floor(Math.random() * arr.length)];
}

function generateRandomAddress() {
    const data = {
        "北京市": ["东城区", "西城区", "朝阳区", "丰台区", "石景山区", "海淀区", "门头沟区", "房山区", "通州区", "顺义区", "昌平区", "大兴区", "怀柔区", "平谷区", "密云区", "延庆区"],
        "天津市": ["和平区", "河东区", "河西区", "南开区", "河北区", "红桥区", "东丽区", "西青区", "津南区", "北辰区", "武清区", "宝坻区", "滨海新区", "宁河区", "静海区", "蓟州区"],
        "河北省": ["石家庄市", "唐山市", "秦皇岛市", "邯郸市", "邢台市", "保定市", "张家口市", "承德市", "沧州市", "廊坊市", "衡水市"],
        "山西省": ["太原市", "大同市", "阳泉市", "长治市", "晋城市", "朔州市", "晋中市", "运城市", "忻州市", "临汾市", "吕梁市"],
        "内蒙古": ["呼和浩特市", "包头市", "乌海市", "赤峰市", "通辽市", "鄂尔多斯市", "呼伦贝尔市", "巴彦淖尔市", "乌兰察布市", "兴安盟", "锡林郭勒盟", "阿拉善盟"],
        "辽宁省": ["沈阳市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "盘锦市", "铁岭市", "朝阳市", "葫芦岛市"],
        "吉林省": ["长春市", "吉林市", "四平市", "辽源市", "通化市", "白山市", "松原市", "白城市", "延边朝鲜族自治州"],
        "黑龙江省": ["哈尔滨市", "齐齐哈尔市", "鸡西市", "鹤岗市", "双鸭山市", "大庆市", "伊春市", "佳木斯市", "七台河市", "牡丹江市", "黑河市", "绥化市", "大兴安岭地区"],
        "山东省": ["济南市", "青岛市", "淄博市", "枣庄市", "东营市", "烟台市", "潍坊市", "济宁市", "泰安市", "威海市", "日照市", "莱芜市", "临沂市", "德州市", "聊城市", "滨州市", "菏泽市"]
    };

    const provinces = Object.keys(data);
    const province = getRandomElement(provinces);
    const cities = data[province];
    const city = getRandomElement(cities);
    const districts = ["区1", "区2", "区3", "区4", "区5"]; // 这里可以根据实际情况添加更多的区
    const district = getRandomElement(districts);

    return `${province}-${city}-${district}`;
}

console.log(generateRandomAddress());

这个函数 generateRandomAddress 会随机生成一个中国内地城市地址,地址格式为 省-市-区。其中,省份和市是从预定义的数据中随机选择的,区是从一个简单的示例数组中随机选择的。你可以根据实际需要扩展区的列表。