整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Javascript數(shù)組系列四之?dāng)?shù)組的轉(zhuǎn)換與排序So

          Javascript數(shù)組系列四之?dāng)?shù)組的轉(zhuǎn)換與排序Sort方法

          avascirpt 數(shù)組中的方法,數(shù)組的轉(zhuǎn)換是我們?cè)陧?xiàng)目的開發(fā)過程中,數(shù)據(jù)類型之間的轉(zhuǎn)換有著非常重要的作用,而數(shù)組轉(zhuǎn)換成其他數(shù)據(jù)類型是我們常見的一種。toString該方法是對(duì)數(shù)組轉(zhuǎn)換成字符串,數(shù)組的每一個(gè)元素都會(huì)調(diào)用 「toString」方法 ,返回一個(gè)新字符串。該字符串是以數(shù)組中的每一個(gè)元素的字符串形式拼接而成,且元素之間用逗號(hào)分隔。

          join該方法也是將一個(gè)數(shù)組轉(zhuǎn)換成字符串,返回一個(gè)新的字符串。方法會(huì)將數(shù)組的每一個(gè)元素轉(zhuǎn)換成字符串,然后再用給定的字符去拼接成一個(gè)新的字符串返回給我們。該方法接受一個(gè)參數(shù):就是我們給定的分隔符。array.join(separator)的語法看上去比較簡(jiǎn)單,但是有幾點(diǎn)我們需要注意

          • 參數(shù)是可選的,如果沒有參數(shù)默認(rèn)為逗號(hào)(,)
          • 參數(shù)可以為空字符串(""),這時(shí)會(huì)返回一個(gè)沒有任何字符分隔的字符串
          • 如果數(shù)組的元素中有 undefined 或者null,則會(huì)被轉(zhuǎn)化為空字符串("")
          • 參數(shù)可以為空格,元素會(huì)以空格分隔

          數(shù)組的排序用到的場(chǎng)景有很多,比如表格的升序與降序,數(shù)據(jù)從大到小排列或者按照某些規(guī)則去排列等等都會(huì)用到排序,如何有效到使用數(shù)據(jù)到排序方法,首先你要對(duì)這些方法有一定的了解才能使用比較恰當(dāng)?shù)姆椒āeverse從名稱我們應(yīng)該就能猜出該方法的作用,該方法就是將數(shù)組中的元素顛倒順序。

          sort該方法對(duì)數(shù)組的元素進(jìn)行排序,默認(rèn)情況下按照升序排列。先看看下面兩個(gè)例子

          你會(huì)發(fā)現(xiàn)排序規(guī)則并不是我們想想的那樣,究竟是怎么一回事情呢?其實(shí)在「sort」方法執(zhí)行的時(shí)候,數(shù)組的每個(gè)元素會(huì)先執(zhí)行一次 toString() 方法,然后在根據(jù)字符串的 Unicode 編碼進(jìn)行排序。

          想使用JavaScript,實(shí)現(xiàn)冒泡排序的動(dòng)態(tài)效果,如下圖:

          冒泡排序

          要實(shí)現(xiàn)該功能,首先準(zhǔn)備一個(gè) html 模板,用來生成不同長(zhǎng)度的進(jìn)度條,來直觀的展示不同大小的數(shù)字:

          html 模板

          然后準(zhǔn)備好幾個(gè)函數(shù):

          隨機(jī)生成數(shù)字的函數(shù):

          生成 length 個(gè)大小在 m 和 n 之間的數(shù)字

          初始化長(zhǎng)度條的函數(shù)

          先獲取模板: let template=document.getElementById('template').innerHTML;

          初始化長(zhǎng)度條函數(shù)

          對(duì)數(shù)字進(jìn)行排序的函數(shù):

          這里準(zhǔn)備了兩個(gè)排序函數(shù),一個(gè)是冒泡排序,一個(gè)是選擇排序:

          冒泡排序

          選擇排序

          以將亂序的數(shù)組進(jìn)行排序,使其升序或降序排列。

          以下是使用 JavaScript 編寫的升序排列和降序排列的示例代碼。

          升序排列:

          let unsortedArray=[4, 6, 1, 9, 2, 5, 8, 3];  
          let sortedArray=[];
          
          for (let i=0; i < unsortedArray.length; i++) {  
            sortedArray.push(unsortedArray[i]);  
          }
          
          console.log(sortedArray); // [1, 2, 3, 4, 5, 6, 7, 8, 9]  

          降序排列:

          let unsortedArray=[9, 8, 7, 6, 5, 4, 3, 2, 1];  
          let sortedArray=[];
          
          for (let i=0; i < unsortedArray.length; i++) {  
            sortedArray.push(unsortedArray[i]);  
          }
          
          console.log(sortedArray); // [1, 2, 3, 4, 5, 6, 7, 8, 9]  

          在 JavaScript 中,可以使用 Array.sort() 方法對(duì)數(shù)組進(jìn)行排序。該方法接受兩個(gè)參數(shù):要排序的數(shù)組和比較函數(shù)。比較函數(shù)用于比較兩個(gè)元素的大小關(guān)系,如果比較對(duì)象是 true,則返回 0,否則返回 -1。

          以下是升序排列的示例代碼:

          let unsortedArray=[4, 6, 1, 9, 2, 5, 8, 3];  
          let sortedArray=[];
          
          for (let i=0; i < unsortedArray.length; i++) {  
            sortedArray.push(unsortedArray[i]);  
          }
          
          sortedArray.sort((a, b)=> a - b);
          
          console.log(sortedArray); // [1, 2, 3, 4, 5, 6, 7, 8, 9]  
          

          在上面的代碼中,比較函數(shù)使用 a - b 表示兩個(gè)元素之間的大小關(guān)系。sort() 方法按升序?qū)?shù)組進(jìn)行排序,將其轉(zhuǎn)換為 [1, 2, 3, 4, 5, 6, 7, 8, 9]。


          主站蜘蛛池模板: 国产精品亚洲一区二区无码| 精品一区二区三区水蜜桃| 无码人妻一区二区三区免费视频 | 色欲精品国产一区二区三区AV| 熟女少妇丰满一区二区| 免费视频一区二区| 中日韩精品无码一区二区三区| 日本一区二区三区免费高清| 精品国产免费一区二区| 国产午夜精品一区二区三区 | 色一情一乱一伦一区二区三欧美| 91video国产一区| 暖暖免费高清日本一区二区三区| 国产精品电影一区二区三区 | 无码一区二区三区| 国产av一区最新精品| 国产精品一区二区av不卡| 亚洲一区精品无码| 日韩精品一区二区三区影院| 日韩视频一区二区三区| 美女视频一区二区| eeuss鲁片一区二区三区| 亚洲一区二区三区四区在线观看| 北岛玲在线一区二区| 在线一区二区三区| 亚洲乱码一区二区三区国产精品| 免费一区二区无码东京热| 天天看高清无码一区二区三区| 性色AV一区二区三区无码| 亚洲高清美女一区二区三区 | 精品国产免费一区二区三区| 国产精品av一区二区三区不卡蜜| 日本欧洲视频一区| 亚洲国产成人一区二区精品区| 一级毛片完整版免费播放一区 | 无码国产精品一区二区免费式影视| 动漫精品一区二区三区3d| 一区二区三区美女视频| 亚洲一区二区三区无码影院| 精品一区二区三区在线视频观看| 成人免费一区二区无码视频|