http://community.csdn.net/Expert/TopicView.asp?id=3349196 //IE5.5+:var ar=[0,1,2,3,4,5,6,7,8,9]; var n = ar.length; var result = new Array(n); for (var i=0;i<n;i++) result[i] = ar.splice(Math.floor(Math.random()*ar.length),1); document.write(result)这个简单点,但是时间复杂度高些: var ar=[0,1,2,3,4,5,6,7,8,9]; var result = ar.sort(function(){return Math.random()-.5}); document.write(result)
请问emu_ston(吃的就是没文化的亏), var ar=[0,1,2,3,4,5,6,7,8,9]; var result = ar.sort(function(){return Math.random()-.5}); document.write(result)其中sort()函数是根据function的返回值来排序的吧,但是我看过sort()函数它说只有三种情况,它提供a,b参数,1)a>b,2)a=b ,3)a<b.不是只有三种排序的情况吗?现在看来你写的并没有利用a,b参数,它返回的值有“正”数,也有“负”数,可以给我解释一下吗? 我都不是很了解这些。。 谢谢!!
Array.prototype.index = function(e){
for(var i=0; i<this.length; i++)
if (this[i] == e)
return i;
}var arr = [2, 4, 3, 8, 5];
alert(arr);
var MAX = eval('Math.max(' + arr + ')');
var MIN = eval('Math.min(' + arr + ')');
arr[arr.index(MAX)] = arr[0];
arr[0] = MAX;
arr[arr.index(MIN)] = arr[arr.length-1];
arr[arr.length-1] = MIN;
alert(arr);
</script>
//IE5.5+:var ar=[0,1,2,3,4,5,6,7,8,9];
var n = ar.length;
var result = new Array(n);
for (var i=0;i<n;i++) result[i] = ar.splice(Math.floor(Math.random()*ar.length),1);
document.write(result)这个简单点,但是时间复杂度高些:
var ar=[0,1,2,3,4,5,6,7,8,9];
var result = ar.sort(function(){return Math.random()-.5});
document.write(result)
var ar=[0,1,2,3,4,5,6,7,8,9];
var result = ar.sort(function(){return Math.random()-.5});
document.write(result)其中sort()函数是根据function的返回值来排序的吧,但是我看过sort()函数它说只有三种情况,它提供a,b参数,1)a>b,2)a=b ,3)a<b.不是只有三种排序的情况吗?现在看来你写的并没有利用a,b参数,它返回的值有“正”数,也有“负”数,可以给我解释一下吗?
我都不是很了解这些。。
谢谢!!