1. 程式人生 > >陣列的sort方法-數值陣列的重排序

陣列的sort方法-數值陣列的重排序

陣列的sort方法可以對陣列進行排序
其中
1、sort( ) ;
文字陣列從字面上對陣列進行排序
排序的依據將內容轉換成ASCII碼,按ASCII碼大小進行重排序.
2、sort(function (a,b){return a-b(升序)});
數字陣列按數值排序
此種方法只是實現了,對數字的重新排序,但陣列中的重複的數字不會剔除,下面用js程式碼實現對數字數字的重排序,並剔除重複項:

/*按數值排序-刪去重複項 */
    var arr=[21,34,34,22,54,11,35,66,2,1,5,6,2,34,42,656,43,32,3,34];
    //數字陣列按數值排序
arr.sort(function(a,b){return a-b}); console.log(arr);//[1, 2, 2, 3, 5, 6, 11, 21, 22, 32, 34, 34, 34, 34, 35, 42, 43, 54, 66, 656] //遍歷陣列-刪去重複項 var newarr=[]; for (var i = 0; i < arr.length; i++) { if (arr[i]==arr[i+1]) { continue; } newarr.push(arr[i]); } console.log(newarr);//[1, 2, 3, 5, 6, 11, 21, 22, 32, 34, 35, 42, 43, 54, 66, 656]
/*按數值排序-刪去重複項--函式封裝*/ function resetArr(Arr){ Arr.sort(function(a,b){return a-b}); var oArr=[]; for (var i = 0; i < Arr.length; i++) { if (Arr[i]==Arr[i+1]) { continue; } oArr.push(Arr[i]); } return
oArr; } var arr2=[2,34,5,7,7,83,33,6,47,33,45,34,5,4,67]; console.log(resetArr(arr2));//[2, 4, 5, 6, 7, 33, 34, 45, 47, 67, 83]