javascript 随机代码片段- 不重复随机5位

javascript 随机代码片段- 不重复随机5位

需求

  1. 百位固定为3
  2. 长度5位
  3. 不重复

解决代码

var rand = {};
// 范围随机
rand.get = function (begin,end){
 return Math.floor(Math.random()*(end-begin))+begin;
}
// 数组随机 百位固定3
rand.getRandstr= function(){
  var arr = [0,1,2,4,5,6,7,8,9]
  var result = '';
  for(var i = 0; i< 5; i++){
    if(i===2){
      result+="3";
    }else{
      var index= rand.get(1,arr.length);
      result += arr[index];
      arr.splice(index,1);
    }
  }
  return result;
}

var v = rand.getRandstr()
console.log(v);

优化函数

var rand = {};
// 范围随机
rand.get = function (begin,end){
 return Math.floor(Math.random()*(end-begin))+begin;
}
// 数组随机 百位固定3
rand.getRandstr= function(len){
  if(len < 1) return '';
  if(len > 10) return '';
  var arr = [0,1,2,3,4,5,6,7,8,9]
  var result = '';
  for(var i = 0; i< len; i++){
    var index= rand.get(1,arr.length);
      result += arr[index];
      arr.splice(index,1);
  }
  return result;
}

var v = rand.getRandstr()
console.log(v);
Table of Contents