sort()函数的详细使用及其原理

sort()方法就是对数组按照一定的条件进行排序。

在不带参数的情况下sort()方法默认会将数组元素当作string类型来升序排序,根据它们的unicode码从小到大依次排列.

如果想按照自己的条件进行排序,需要传一个比较函数。

如下:

var arr = ['a','c','b'];

console.log(arr.sort());输出的值为

sort()函数的详细使用及其原理_第1张图片

我在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")));

结果如下

sort()函数的详细使用及其原理_第2张图片



















你可能感兴趣的:(js笔记)