js 纯数字不重复排列的另类方法 |
本文标签:纯数字,不重复排列 参考无忧cosin的方法后(多谢),整理的方法如下 复制代码 代码如下: //一段随机数,模拟用 var baseNum=[]; for(var i= 0;i< 100000 ;i++){ random = Math.floor(Math.random()*i); baseNum.push(random); } var baseNumLen = baseNum.length; var numSubscript = []; //将数字作为下标和值放到另一数组内,实现排序和不重复 for (var i =0;i<basenumlen ;i++){ if(numSubscript[baseNum[i]] == undefined)numSubscript[baseNum[i]]=baseNum[i]; } //去除空的值并颠倒一下 baseNum = numSubscript.join(,).replace(/([,]+)/ig, ,).split(,).reverse(); document.write(baseNum); 题外: 假如数组是自己生成,客服果果写的这段代码就很好了 。(牛逼) 复制代码 代码如下: var baseNum=[],tmp={},v; for(var i= 0;i< 100000 ;i++){ tmp[Math.floor(Math.random()*i)]=true; }; i=0; for (var k in tmp){ baseNum[i++]=k; }; baseNum.sort(fn); function fn(x,y) { return x-y>0?1:-1 } document.write(baseNum.join()); |