使用冒泡排序对三级数组进行排序,比如书的章节排序。
原始数据为:
["1.0.0", "10.1.1", "5.1.0", "3.0.0", "0.1.1", "14.1.0", "12.1.0", "20.0.0", "6.0.0"]
需要排序为:
["1.0.0", "3.0.0", "6.0.0", "20.0.0", "5.1.0", "12.1.0", "14.1.0", "0.1.1", "10.1.1"]
code:
function bubbleSort(arr) {
var i = arr.length, j;
var tempExchangVal;
while (i > 0) {
for (j = 0; j < i - 1; j++) {
var info1 = arr[j];
var p1 = info1.split(".")[2];
var i1 = info1.split(".")[1];
var f1 = info1.split(".")[0];
var info2 = arr[j+1];
var p2 = info2.split(".")[2];
var i2 = info2.split(".")[1];
var f2 = info2.split(".")[0];
if (parseInt(p1) > parseInt(p2)) {
tempExchangVal = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tempExchangVal;
} else if (p1 === p2) {
if (parseInt(i1) > parseInt(i2)) {
tempExchangVal = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tempExchangVal;
} else if (i1 === i2) {
if (parseInt(f1) > parseInt(f2)) {
tempExchangVal = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tempExchangVal;
}
}
}
}
i--;
}
return arr;
}
使用该方法可以对多级数据结构进行排序。
网友评论