sort() 方法用于对数组的元素进行排序。
语法:arrayObject.sort(sortby);参数sortby可选。规定排序顺序。必须是函数。
当方法不带参数的时候,将按照字符编码顺序进行排序,如果想要对数字进行排序则需要编写相应的函数。
var arr = [1,5,10,100,400]; console.log(arr.sort()) --> [1,10,100,400,5];
这时候sort()方法则是根据ASCII码进行排序,将数组中的元素作为字符串处理,我们做一点小改动
var arr = [1,5,10,100,400]; function compare(a,b){ return a- b; } console.log(arr.sort(compare)) --> [1,5,10,100,400];
如果数组中的元素是一个对象,也可以通过对象中的属性来排序
var arr = [ {name:'HanMeiMei',age:18}, {name:'LiLei',age:30}, {name:'Peter',age:12} ] function compare(a,b){ return a['age'] - b['age']; } console.log(arr.sort()) --> [ {name:'HanMeiMei',age:18}, {name:'LiLei',age:30}, {name:'Peter',age:12} ] console.log(arr.sort(compare)) --> [ {name:'Peter',age:12}, {name:'HanMeiMei',age:18}, {name:'LiLei',age:30} ]