sort()方法就是对数组按照一定的条件进行排序。
在不带参数的情况下sort()方法默认会将数组元素当作string类型来升序排序,根据它们的unicode码从小到大依次排列.
如果想按照自己的条件进行排序,需要传一个比较函数。
如下:
var arr = ['a','c','b']; console.log(arr.sort());
输出的值为
我在javascript的红皮书上看到一个例子觉得非常好:
我们先创建一个比较函数:
function createComparisonFunction(propertyName) { return function (object1,object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; return value2 - value1;} };
说明一下这value2-value1是降序排序,如果是value1-value2则是升序排序
定义一个数组:
var data = [ {name:ahang,age:28}, {name:cao,age:29}, {name:bang,age:30}, {name:diu,age:40} ]; console.log(data.sort(createComparisonFunction(age)));
相关推荐: