Javascript:生成一个随机数组
可能重复:Javascript:生成一个随机数组,javascript,random,Javascript,Random,可能重复: 编写一个生成随机数组的函数,如下所述: 随机数组(10) =>[0,2,3,9,6,5,4,7,8,1] :( 我在上学的时候没有学习编程,所以我写了一个丑陋的。这是我的程序 var min = 0, max = 15, //Here generate an random array from 0-14 i, j, arr = [], temp = []; for (i = min;i<max; i++){ arr.push
编写一个生成随机数组的函数,如下所述: 随机数组(10) =>[0,2,3,9,6,5,4,7,8,1] :( 我在上学的时候没有学习编程,所以我写了一个丑陋的。这是我的程序
var min = 0,
max = 15, //Here generate an random array from 0-14
i,
j,
arr = [],
temp = [];
for (i = min;i<max; i++){
arr.push(i);
}
for(j=min;j<1000;j++){
temp.push(arr[Math.floor(Math.random() * arr.length)]);
}
function unique(array){
var b = [];
for(var i=0; i<array.length; i++){
if(b.indexOf(array[i]) == -1) b.push(array[i]);
}
return b;
}
alert(unique(temp));
var min=0,
max=15,//这里从0-14生成一个随机数组
我
J
arr=[],
温度=[];
对于(i=min;i这是一种方法:
var RandomArray = function RandomArray(elements) {
var min = 0, //min random number
max = 15, //max random number
i, //incrementer
arr = []; //output
//generate an array of length (elements) containing random number from min to max
for (i = 0; i < elements; i += 1) {
arr.push(Math.floor(Math.random() * (max + 1)) + min);
}
//return the array
return arr;
};
var RandomArray=函数RandomArray(元素){
var min=0,//最小随机数
max=15,//最大随机数
i、 //递增器
arr=[];//输出
//生成包含从最小到最大的随机数的长度(元素)数组
对于(i=0;i<元素;i+=1){
arr.push(数学地板(数学随机()*(最大+1))+min);
}
//返回数组
返回arr;
};
这里有一把小提琴:这可能是您需要的:
/**
* range Get an array of numbers within a range
* @param min {number} Lowest number in array
* @param max {number} Highest number in array
* @param rand {bool} Shuffle array
* @return {array}
*/
function range( min, max, rand ) {
var arr = ( new Array( ++max - min ) )
.join('.').split('.')
.map(function( v,i ){ return min + i })
return rand
? arr.map(function( v ) { return [ Math.random(), v ] })
.sort().map(function( v ) { return v[ 1 ] })
: arr
}
演示:函数随机数组(n){
var数组=[];
对于(i=0;i
程序的输出具有不同的任务和目标。请告诉我们您希望从脚本中得到什么。这恰好适用于min=0
,但实际上您使用的是间隔min
到min+max
。是的,但随机数组的数字必须唯一。
function randomArray(n) {
var array = [];
for (i = 0; i < n; i++) {
array[i] = i;
}
var newArray = [];
for (i = 0; i < n; i++) {
var num = Math.round(Math.random() * (n - i - 1));
newArray[i] = array[num];
array.splice(num, 1);
}
alert(newArray);
}
randomArray(100);