数据排序这块应该是每一个程序员都会遇到的,而这篇文章主要是介绍js中sort排序如何使用得当,既然有现成的封装的方法就用现成的,本身稍加修改就能完成,不须要再从新本身重头到尾写个函数,固然若是你们有这个兴趣也能够本身写啦。前端
sort默认的排序方式为字母排序,根据二十六个字母依次排列,单词之间比较,则先比较第一个字母,若是第一个字母相同则比较第二个字母,以此类推。程序员
// 1.字母排序(sort默认排序) var arr = ["za","zb","a","b","xc","xa"]; arr.sort(); console.log(arr); // 运行结果:["a", "b", "xa", "xc", "za", "zb"]
sort()中参数能够是方法函数,能够升序和降序输出结果。数组
//2.sort数字排序 var array = [100,10,50,800,320,34,53]; array.sort(function(a,b){ //a-b升序,b-a降序 return b-a; }); console.log(array); //运行结果:[800, 320, 100, 53, 50, 34, 10]
注意:其中a,b都是表示这个数组里面的元素,若是是a-b则表示升序,若是是b-a则表示降序。函数
最重要的仍是这个对象属性排序,当后台给咱们前端不少数据而且没有排序时,咱们通常都是要从新进行排序,然后台给的数据每每是好几层,不会像前面那种简单的就一个数组,这个时候就要用sort中对象属性排序了code
// 3.对象属性排序 var obj = [ {name:"lucy", num:400}, {name:"nancy", num:110}, {name:"maria", num:200} ]; obj.sort(compare("num")); console.log(obj); //数组对象属性值排序 function compare(property){ return function(a,b){ //value1 - value2升序 //value2 - value1降序 var value1 = a[property]; var value2 = b[property]; return value1 - value2;//升序 } }
运行结果:
[
{name:"nancy", num:110},
{name:"maria", num:200},
{name:"lucy", num:400}
]
注意:compare()中参数必须是这个对象的属性名称,而你要比较的这些对象里面,必定要有这个属性名称,不然会出错。以上属于我的总结,若是后期有什么补充会再次发布对象