陣列的sort方法-數值陣列的重排序
阿新 • • 發佈:2018-10-31
陣列的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]