一个随机选取旅游城市的小demo

直接上代码

// type 为城市列表(这里只用String类型使用,其他需求请自行修改),citys为选取的个数
var city=function(type,citys){
    var str = type
    // String类型转换为数组 分隔符自行随机应变
var newStr = str.split("、")
//创建一个空数组
var arr = new Array()
for (var i=0 ;i<citys;i++){
// 取随机下标(听大牛说 random只是个伪随机,有更好的随即方法还请指教)
    var num = Math.random()*newStr.length
    // 向下取整
    num = Math.floor(num)
    // 使用ES7  includes 来判断数组内的数字是否重复
    if(arr.includes(num)){
    // 如果重复,重置i的值
        i--
    }else{
    // 不重复就放数组里面去
        arr.push( num )
    }
}
// 使用API对数组进行排序 
var newArr = arr.sort(function(a,b){
    return a-b
})


for (let n in newArr){
//遍历数组,然后输出城市
    console.log(newStr[newArr[n]])
}
}

// 初始城市列表
var citys="杭州、金华西、玉山、上饶、鹰潭、东乡、进贤、新余、萍乡、株洲、娄底、怀化、玉屏、镇远、凯里、福泉、贵定、贵阳、安顺、六枝、六盘水、草海、昭通、盐津、水富、宜宾、自贡、内江、资中、资阳、简阳、成都"
  // 调用函数
city(citys,3)



关于优化,还请大佬指教,目前小老弟还是萌新一枚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值