小編給大家分享一下js中排序與重組的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、元寶ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的元寶網(wǎng)站制作公司
示例:
function input(req){ if(req<=100){ var arr=[],arr1=[]; for(var i=0;iarr1[m]){ var temp=arr1[n]; arr1[n]=arr1[m]; arr1[m]=temp; } } } console.log(arr.length); console.log(arr.join(' ')); console.log(arr1.length); console.log(arr1.join(' ')); }else{ alert("不好意思,你輸入的數(shù)已經(jīng)大于100了"); } }
解析:關(guān)于排序的,有冒泡排序,快速排序,插入排序,希爾排序,選擇排序,歸并排序,堆排序,基數(shù)排序,計數(shù)排序,桶排序等等。
關(guān)于數(shù)組去重的實現(xiàn)方法,常用的有遍歷數(shù)組,對象鍵值對,數(shù)組下標(biāo)判斷,排序后相鄰去除法,優(yōu)化遍歷數(shù)組等等。
本題排序方法采用一種最基本的方法就是冒泡方法,冒泡方法實質(zhì)就是相鄰排序了,依次比較相鄰的兩個值,如果我比你小,我就在你前面,反之就在你后面,按照這種方法多次,直到順序正確。
去重的方法也是采用最基本的遍歷數(shù)組法,思路是新建立一個數(shù)組,值不在數(shù)組中,就填入數(shù)組,簡單粗暴。哈哈。采用了js中的indexof()方法,indexof()方法原意指的是可返回某個指定的字符串在字符中首次出現(xiàn)的位置。但是它也有這樣的一個性質(zhì),注意:如果要檢索的字符串沒有出現(xiàn),則返回-1,這正是我們需要的。
看題干:N個1到1000之間的隨機整數(shù)(N小于等于100)
整數(shù):嗯嗯此時應(yīng)該想到這個parseInt()方法;
隨機:想到了Math.random();
1到1000的隨機整數(shù): var num=parseInt(Math.random()*(1000-1)+1);這種組合的方法蠻有效果的。
填入數(shù)組:arr.push()方法;接下來判斷原數(shù)組的數(shù)是否在新數(shù)組arr1中,if(arr1.indexOf(arr[i])==-1) arr1.push(arr[i]);
填入數(shù)組的事已經(jīng)完成了,接下來就是排序的問題了。冒泡(簡單粗暴)。生成隨機數(shù)組的個數(shù),就用數(shù)組的長度嘍,arr.length.
還有提到的是用空格隔開:join(' ');
在chrome,f12下跑的結(jié)果如下:
去重和排序后的結(jié)果
以上是“js中排序與重組的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!