您好,登錄后才能下訂單哦!
這篇文章主要介紹“js數組排序的方法有哪些及怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“js數組排序的方法有哪些及怎么使用”文章能幫助大家解決問題。
1、sort方法
用于對數組的元素進行排序,是按照字符編碼的順序進行排序,會改變原數組的值,所以如果直接使用,可能無法達到我們想要的效果。
var arr = [6, 3, 8, 7, 1, 5, 4, 2, 9]; arr.sort(function(a, b){ return a - b;//升序排列 //return b - a;//降序排列 }); //結果是[1, 2, 3, 4, 5, 6, 7, 8, 9] console.log(arr);
2、冒泡排序
先選出數值,拍到數組最后面,之后再選出第二大的值排到倒數第二位,依次類推。
function bubbleSort(arr) for (var max=arr.length;max>0;max--) { for (var i=0;i<max;i++) { if(arr[i]>arr[i+1]){ var maxValue = arr[i]; arr.splice(i,0,arr[i+1]); arr.splice(i+2,1); } } } return arr; }
3、插入排序
是一種最簡單直觀的排序算法,它的工作原理是通過構建有序序列,對于未排序數據,在已排序序列中從后向前掃描,找到相應位置并插入。
var insertSort = function( arr) { var len = arr.length; var preIndex, current; for( var i = 1; i < len; i ++){ preIndex = i - 1; current = arr[i]; while(preIndex >= 0 && arr[preIndex] > current){ arr[preIndex + 1] = arr[preIndex]; preIndex --; } arr[preIndex + 1] = current; } return arr; }
4、快速排序
首先任意選取一個數據(通常選用數組的第一個數)作為關鍵數據,然后將所有比它小的數都放到它前面,所有比它大的數都放到它后面,然后對左右部分遞歸。
function selectSort(array) { var k = array.length; for(var i=0; i<k-1; i++) { var minIndex = i; for(var j=i+1; j<k; j++) { if(array[j] < array[minIndex]) { minIndex = j; } } var temp = array[i]; array[i] = array[minIndex]; array[minIndex] = temp; } return array; }
5、選擇排序
每一趟從待排序的數據元素中選出最小(或)的一個元素,順序放在已排好序的數列的最后,直到全部待排序的數據元素排完。
var b=0//設置用來調換位置的值 var a=[1,9,33,2,5,34,23,98,14] for(var i=0;i<a.length;i++){ for(var j=i;j<a.length;j++){ if(a[j]>a[j+1]){ b=a[j] a[j]=a[j+1] a[j+1]=b } } } console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]
關于“js數組排序的方法有哪些及怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。