function abc(n,m){ var list = new Array(); for(var i=0; i<m; i++){ list.push(Math.floor(Math.random()*n)+1); } if(m>1){ for(var i=1; i<list.length; i++){ var a=list[i]; var b=list[i-1]; if(b>a){ list[i]=b; list[i-1]=a; i=0; } } } alert(list); } abc(10,5);
var val, ret = [], done = {}, n = 100; for (; ret.length < n;) { val = Math.random(); if (!(val in done)) ret.push(val), done[val] = true; } alert(ret.sort().join(', '));
Array.prototype.remove=function(n){if(isNaN(parseInt(n))) return false;if(n>=this.length || n<0) return false;for(var i=n;i<this.length-1;i++) this[i]=this[i+1];this.pop();return true;}var N = 10; var m = 5; var a=[], b = []; for(var i=0; i<N; i++) a[i] = i+1;for(var i=0; i<m; i++){ var r = Math.floor(Math.random()*(a.length-1)+1); b[b.length] = a[r]; var v = a.remove(r); }for(var i=0; i<b.length-1; i++){ for(var j=i+1; j<b.length; j++){ if(b[j]<b[i]){ var t = b[i]; b[i] = b[j]; b[j] = t; } } }for(var i=0; i<b.length; i++) alert(b[i]);
前面看错意思了 function rnd(m, n){ var val, ret = [], done = {}; for (; ret.length < m;) { val = Math.random() * (n / 2); if ((val >= 1 && val <= n) && !(val in done)) ret.push(val), done[val] = 1; } return ret.sort(function(a, b){ return a - b; }); }alert(rnd(10, 300).join(', '));
val = Math.random() * (n / 2); 改为 val = Math.random() * n;
function abc(n,m){
var list = new Array();
for(var i=0; i<m; i++){
list.push(Math.floor(Math.random()*n)+1);
}
if(m>1){
for(var i=1; i<list.length; i++){
var a=list[i];
var b=list[i-1];
if(b>a){
list[i]=b;
list[i-1]=a;
i=0;
}
}
}
alert(list);
}
abc(10,5);
for (; ret.length < n;) {
val = Math.random();
if (!(val in done)) ret.push(val), done[val] = true;
}
alert(ret.sort().join(', '));
Array.prototype.remove=function(n){if(isNaN(parseInt(n))) return false;if(n>=this.length || n<0) return false;for(var i=n;i<this.length-1;i++) this[i]=this[i+1];this.pop();return true;}var N = 10;
var m = 5;
var a=[], b = [];
for(var i=0; i<N; i++) a[i] = i+1;for(var i=0; i<m; i++){
var r = Math.floor(Math.random()*(a.length-1)+1);
b[b.length] = a[r];
var v = a.remove(r);
}for(var i=0; i<b.length-1; i++){
for(var j=i+1; j<b.length; j++){
if(b[j]<b[i]){
var t = b[i];
b[i] = b[j];
b[j] = t;
}
}
}for(var i=0; i<b.length; i++) alert(b[i]);
function rnd(m, n){
var val, ret = [], done = {};
for (; ret.length < m;) {
val = Math.random() * (n / 2);
if ((val >= 1 && val <= n) && !(val in done)) ret.push(val), done[val] = 1;
}
return ret.sort(function(a, b){
return a - b;
});
}alert(rnd(10, 300).join(', '));
改为 val = Math.random() * n;