JavaScript按纯数字排序

 
直接上代码:
         var arr=[
{name:"张散步",age:"23",sports:"篮球",number:"231123"},
{name:"李斯的",age:"3",sports:"钢琴",number:"534563"},
{name:"艾伦",age:"63",sports:"排球",number:"345455"},
{name:"王武",age:"33",sports:"乒乓球",number:"867324"},
{name:"乏力",age:"26",sports:"足球",number:"132457"}
]; //单一的数字排序
//console.log(arr.sort(sortDownAge));//正序
//console.log(arr.sort(sortUpAge));//反序 //灵活的数字多排序  
//console.log(sortDownNumber(arr,"age"));//正序
//console.log(sortUpNumber(arr,"age"));//反序
//
//console.log(sortDownNumber(arr,"number"));//正序
//console.log(sortUpNumber(arr,"number"));//反序 //单一的纯数字排序,上方是正序,下方是反序
function sortDownAge(a, b) {
return a.age - b.age
} function sortUpAge(a, b) {
return b.age - a.age
}     //纯数字灵活排序
/*数字正排序
*
* data:对象数组
* p:排序的参数
*
* */
function sortDownNumber(data, p) {
for (i = 0; i < data.length - 1; i++) {
for (j = 0; j < data.length - 1 - i; j++) {
if (parseFloat(data[j][p]) > parseFloat(data[j + 1][p])) {
var temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
return data;
} /*数字反排序
*
* data:对象数组
* p:排序的参数
*
* */
function sortUpNumber(data, p) {
for (i = 0; i < data.length - 1; i++) {
for (j = 0; j < data.length - 1 - i; j++) {
if (parseFloat(data[j][p]) < parseFloat(data[j + 1][p])) {
var temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
return data;
}

分别显示的结果如下截图:

 

  1、单一的数字排序,左侧是正序(arr.sort(sortDownAge)),右侧是反序(arr.sort(sortUpAge))

  JavaScript按纯数字排序    JavaScript按纯数字排序

  2、灵活的数字多排序,左侧是年龄正序(sortDownNumber(arr,"age")),右侧是年龄反序(sortUpNumber(arr,"age"))

  JavaScript按纯数字排序    JavaScript按纯数字排序

  3、灵活的数字多排序,左侧是number正序(sortDownNumber(arr,"number")),右侧是number反序(sortUpNumber(arr,"number"))

  JavaScript按纯数字排序    JavaScript按纯数字排序

    

  

  这是其他排序的方法,欢迎查看,欢迎给意见!

  按JavaScript日期排序

   按JavaScript非数字(中文)排序

  JavaScript按日期排序之灵活排序

  JavaScript按IP地址排序

  

上一篇:linux下执行java类(运行java定时器)


下一篇:python之路--动态传参,作用域,函数嵌套