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")));
相关