標籤:技術分享 png font 年齡 image 反序 log name 其他
直接上代碼:
1 var arr=[ 2 {name:"張散步",age:"23",sports:"籃球",number:"231123"}, 3 {name:"李斯的",age:"3",sports:"鋼琴",number:"534563"}, 4 {name:"艾倫",age:"63",sports:"排球",number:"345455"}, 5 {name:"王武",age:"33",sports:"乒乓球",number:"867324"}, 6 {name:"乏力",age:"26",sports:"足球",number:"132457"} 7 ]; 8 9 //單一的數字排序10 //console.log(arr.sort(sortDownAge));//正序11 //console.log(arr.sort(sortUpAge));//反序12 13 14 //靈活的數字多排序 15 //console.log(sortDownNumber(arr,"age"));//正序16 //console.log(sortUpNumber(arr,"age"));//反序17 //18 //console.log(sortDownNumber(arr,"number"));//正序19 //console.log(sortUpNumber(arr,"number"));//反序20 21 22 23 24 25 //單一的純數字排序,上方是正序,下方是反序26 function sortDownAge(a, b) {27 return a.age - b.age28 }29 30 function sortUpAge(a, b) {31 return b.age - a.age32 }33 34 //純數字靈活排序35 /*數字正排序36 *37 * data:對象數組38 * p:排序的參數39 *40 * */41 function sortDownNumber(data, p) {42 for (i = 0; i < data.length - 1; i++) {43 for (j = 0; j < data.length - 1 - i; j++) {44 if (parseFloat(data[j][p]) > parseFloat(data[j + 1][p])) {45 var temp = data[j];46 data[j] = data[j + 1];47 data[j + 1] = temp;48 }49 }50 }51 return data;52 }53 54 55 /*數字反排序56 *57 * data:對象數組58 * p:排序的參數59 *60 * */61 function sortUpNumber(data, p) {62 for (i = 0; i < data.length - 1; i++) {63 for (j = 0; j < data.length - 1 - i; j++) {64 if (parseFloat(data[j][p]) < parseFloat(data[j + 1][p])) {65 var temp = data[j];66 data[j] = data[j + 1];67 data[j + 1] = temp;68 }69 }70 }71 return data;72 }
分別顯示的結果如下:
1、單一的數字排序,左側是正序(arr.sort(sortDownAge)),右側是反序(arr.sort(sortUpAge))
2、靈活的數字多排序,左側是年齡正序(sortDownNumber(arr,"age")),右側是年齡反序(sortUpNumber(arr,"age"))
3、靈活的數字多排序,左側是number正序(sortDownNumber(arr,"number")),右側是number反序(sortUpNumber(arr,"number"))
這是其他排序的方法,歡迎查看,歡迎給意見!
按JavaScript日期排序
按JavaScript非數字(中文)排序
JavaScript按純數字排序