標籤:oca src 其他 參數 war tle 數組 中文 com
直接上代碼:
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 //console.log(ForwardRanking(arr,"name"));//正序10 //console.log(ReverseRanking(arr,"name"));//反序11 //console.log(ForwardRanking(arr,"sports"));//正序12 //console.log(ReverseRanking(arr,"sports"));//反序13 14 15 /* 中文正向排序16 *17 * data:對象數組18 * p:排序的參數名19 *20 * */21 function ForwardRanking(data, p) {22 for (i = 0; i < data.length - 1; i++) {23 for (j = 0; j < data.length - 1 - i; j++) {24 var dd = (data[j][p].localeCompare(data[j + 1][p], "zh"));//1---前者往後移,-1===位置不變25 if (dd > 0) {26 var temp = data[j];27 data[j] = data[j + 1];28 data[j + 1] = temp;29 }30 }31 }32 return data;33 }34 35 36 /*反向排序37 *38 * data:對象數組39 * p:排序的參數名40 *41 * */42 function ReverseRanking(data, p) {43 for (i = 0; i < data.length - 1; i++) {44 for (j = 0; j < data.length - 1 - i; j++) {45 var dd = (data[j][p].localeCompare(data[j + 1][p], "zh"));//1---前者往後移,-1===位置不變46 if (dd < 0) {47 var temp = data[j];48 data[j] = data[j + 1];49 data[j + 1] = temp;50 }51 }52 }53 return data;54 }
結果如下:
1、姓名,左邊是正序(ForwardRanking(arr,"name")),右邊是反序(ReverseRanking(arr,"name"));
1、sports,左邊是正序(ForwardRanking(arr,"sports")),右邊是反序(ReverseRanking(arr,"sports"));
這是其他排序的方法,歡迎查看,歡迎給意見!
JavaScript按純數字排序
JavaScript日期排序
JavaScript非數字(中文)排序