zoukankan      html  css  js  c++  java
  • 不重复随机数生成

    核心思路:

      1.将现有的数转成数组,用于生成随机数时剔除和当前重复的数,防止重复

      2.通过起始数和结尾数生成源数的数组

      3.用当前已有和源对比,剔除重复的,生成新的数组

      4.通过最新生成的数组下标获取

    var start = $("#dataStart").val();
    var end = $("#dataEnd").val();
    // 已经存在的数,这里需要处理,数据格式为数组
    var existData = [];
    if (start == "" || end == "") {
        alert("请输入随机范围");
        return;
    }
    start = parseInt(start);
    end = parseInt(end);
    
    // 根据随机数取值范围,生成数组originalArray
    var originalArray = [];
    var mark = 0;
    for (var i = start; i <= end;i++) {
        originalArray[mark] = i;
        mark++;
    }
    // originalArray数组中包含existData数组的元素删掉,防止生成随机数时重复
    for (var i = 0;i < existData.length; i++) {
        for (var y = 0;y < originalArray.length; y++) {
            if (existData[i] == originalArray[y]) {
                originalArray.splice(y, 1);
            }
        }
    }
    if (originalArray.length == 0) {
        alert("生成随机数其他条目已包含,请扩大范围");
        return;
    }
    // 生成随机的数组索引
    var randomData = RandomNumBoth(0, (originalArray.length - 1));
    //通过随机数组索引获取值
    randomData = originalArray[randomData]
    $("#randomDom").val(randomData);
  • 相关阅读:
    for ,foreach ,map 循环的区别
    PHP生成验证码图片
    Google自动打印
    MYSQL定时任务
    PHP 多维数组将下标从0开始
    MYSQL常用函数
    PHP 手机短信发送验证码
    php 限制标题长度,将一个中文转换成一个字符
    MYSQL 模糊查询
    MYSQL AND 和 OR
  • 原文地址:https://www.cnblogs.com/luowBlog/p/7764952.html
Copyright © 2011-2022 走看看