js 純數(shù)字不重復(fù)排列的另類方法
更新時(shí)間:2010年07月17日 20:29:48 作者:
有一組數(shù)據(jù),大概10萬個(gè)左右,每一單位的值不會(huì)大于30000,要求按照由大到小的順序不重復(fù)輸出。
參考無憂cosin的方法后(多謝),整理的方法如下
//一段隨機(jī)數(shù),模擬用
var baseNum=[];
for(var i= 0;i< 100000 ;i++){
random = Math.floor(Math.random()*i);
baseNum.push(random);
}
var baseNumLen = baseNum.length;
var numSubscript = [];
//將數(shù)字作為下標(biāo)和值放到另一數(shù)組內(nèi),實(shí)現(xiàn)排序和不重復(fù)
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);
題外:
假如數(shù)組是自己生成,客服果果寫的這段代碼就很好了。(牛逼)
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(''));
復(fù)制代碼 代碼如下:
//一段隨機(jī)數(shù),模擬用
var baseNum=[];
for(var i= 0;i< 100000 ;i++){
random = Math.floor(Math.random()*i);
baseNum.push(random);
}
var baseNumLen = baseNum.length;
var numSubscript = [];
//將數(shù)字作為下標(biāo)和值放到另一數(shù)組內(nèi),實(shí)現(xiàn)排序和不重復(fù)
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);
題外:
假如數(shù)組是自己生成,客服果果寫的這段代碼就很好了。(牛逼)
復(fù)制代碼 代碼如下:
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(''));
相關(guān)文章
基于JavaScript實(shí)現(xiàn)類名的添加與移除
本文給大家分享javascript實(shí)現(xiàn)類名的添加與移除功能,需要的朋友參考下吧2017-04-04
OkHttp踩坑隨筆為何 response.body().string() 只能調(diào)用一次
想必大家都用過或接觸過 OkHttp,我最近在使用 Okhttp 時(shí),就踩到一個(gè)坑,在這兒分享出來,以后大家遇到類似問題時(shí)就可以繞過去2018-01-01
使用fabric實(shí)現(xiàn)恢復(fù)和撤銷功能的實(shí)例詳解
在圖形編輯器中,撤銷和恢復(fù)是一個(gè)非常常見的功能了,但是搜了下,網(wǎng)上好像也沒有太多相關(guān)的文章 可能是因?yàn)閏anvas相關(guān)的資料確實(shí)太少了吧,所以本文給大家介紹了如何基于 fabric 實(shí)現(xiàn)恢復(fù)、撤銷功能,需要的朋友可以參考下2024-06-06
簡單實(shí)現(xiàn)jquery焦點(diǎn)圖
這篇文章主要為大家詳細(xì)介紹了如何簡單實(shí)現(xiàn)jquery焦點(diǎn)圖效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
JavaScript前端面試扁平數(shù)據(jù)轉(zhuǎn)tree與tree數(shù)據(jù)扁平化
這篇文章主要為大家介紹了JavaScript面試中扁平數(shù)據(jù)轉(zhuǎn)tree以及tree數(shù)據(jù)扁平化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

