国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js排序與重組的實例講解

2019-11-19 15:39:34
字體:
來源:轉載
供稿:網友

前幾天同學發給我一個問題,思路想整理一下,也供大家參考。實際上這道題本質就是考察的是去重與排序的問題。好了閑話少說,上題。

function input(req){if(req<=100){var arr=[],arr1=[];for(var i=0;i<req;i++){var num=parseInt(Math.random()*(1000-1)+1);arr.push(num);if(arr1.indexOf(arr[i])==-1)arr1.push(arr[i]);}for(var n=0;n<arr1.length-1;n++){for(var m=n+1;m<arr1.length;m++){if(arr1[n]>arr1[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("不好意思,你輸入的數已經大于100了");} }

解析:關于排序的,有冒泡排序,快速排序,插入排序,希爾排序,選擇排序,歸并排序,堆排序,基數排序,計數排序,桶排序等等。

關于數組去重的實現方法,常用的有遍歷數組,對象鍵值對,數組下標判斷,排序后相鄰去除法,優化遍歷數組等等。

本題排序方法采用一種最基本的方法就是冒泡方法,冒泡方法實質就是相鄰排序了,依次比較相鄰的兩個值,如果我比你小,我就在你前面,反之就在你后面,按照這種方法多次,直到順序正確。

去重的方法也是采用最基本的遍歷數組法,思路是新建立一個數組,值不在數組中,就填入數組,簡單粗暴。哈哈。采用了js中的indexof()方法,indexof()方法原意指的是可返回某個指定的字符串在字符中首次出現的位置。但是它也有這樣的一個性質,注意:如果要檢索的字符串沒有出現,則返回-1,這正是我們需要的。

看題干:N個1到1000之間的隨機整數(N小于等于100)

整數:嗯嗯此時應該想到這個parseInt()方法;

隨機:想到了Math.random();

1到1000的隨機整數: var num=parseInt(Math.random()*(1000-1)+1);這種組合的方法蠻有效果的。

填入數組:arr.push()方法;接下來判斷原數組的數是否在新數組arr1中,if(arr1.indexOf(arr[i])==-1) arr1.push(arr[i]);

填入數組的事已經完成了,接下來就是排序的問題了。冒泡(簡單粗暴)。生成隨機數組的個數,就用數組的長度嘍,arr.length.

還有提到的是用空格隔開:join(' ');

在chrome,f12下跑的結果如下:

去重和排序后的結果

以上這篇js排序與重組的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仪征市| 三明市| 平顺县| 莒南县| 清水县| 成武县| 永清县| 南陵县| 仁怀市| 汉源县| 逊克县| 乐山市| 康定县| 鲁山县| 嵊泗县| 福安市| 娱乐| 杭州市| 师宗县| 陇南市| 修武县| 沁水县| 古丈县| 磐石市| 富阳市| 正宁县| 桃园县| 平定县| 夏河县| 蕉岭县| 兴仁县| 灵寿县| 泾阳县| 渝中区| 太湖县| 洪湖市| 始兴县| 高平市| 巴塘县| 赤城县| 龙江县|