Sort()函数的多种用法

 更新时间:2016年3月22日 10:00  点击:2422

sort() 方法用于对数组的元素进行排序。包含于头文件algorithm

语法

arrayObject.sort(sortby)

参数 描述
sortby 可选。规定排序顺序。必须是函数。

返回值

对数组的引用。请注意,数组在原数组上进行排序,不生成副本。

一、默认情况

在默认情况下, sort() 方法按升序排列数组项。为了实现排序, sort() 方法会调用每个数组项的 toString() 转型方法,然后比较得到的字符串,已确定如何排序。如下:

var values = ["orange","apple","banana"];
values.sort();
console.log(values);//结果["apple", "banana", "orange"]

但是,即使数组中的每一项都是数值,sort() 方法比较的也是字符串,如下:

var values = [,,,,];
values.sort();
console.log(values);//结果[, , , , ]

二、对数值进行排序

sort() 方法可以接收一个比较函数作为参数。

比较函数接收两个参数,如果第一个参数应该位于第二参数之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数位于第二个之后则返回一个正数。

function compare(a, b){
return (a - b);
}//按升序排列的比较函数
var values = [,,,,];
values.sort(compare);
console.log(values);//结果[, , , , ]

三、根据某个对象属性对数组进行排序

先定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数。下面是这个函数的定义:

function createComparisonFunction(propertyName){
return function(object, object){
var a = object[propertyName];
var b = object[propertyName];
if(a < b){
return -;
}else if(a > b){
return ;
}else{
return ;
}
}
}//返回一个根据属性名创建的按升序排列的比较函数

在内部函数接收到propertyName参数后,它会使用方括号表示法来取得给定属性的值。

上面这个函数可以在像在下面例子中这样使用。

var data = [{name:"Lily", age: }, {name:"Judy", age: }];
data.sort(createComparisonFunction("name"));
console.log(data[].name);//Judy
data.sort(createComparisonFunction("age"));
console.log(data[].name);//Lily

以上内容是小编给大家介绍的Sort()函数的多种用法,希望对大家以上帮助!

[!--infotagslink--]

相关文章

  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • 详解Matlab中 sort 函数用法

    这篇文章主要介绍了matlab中 sort 函数用法 的相关资料,需要的朋友可以参考下...2016-03-22
  • window.onerror()的用法与实例分析

    目前在做window.onerror时上报js错误信息的事,整理下相关资料,需要的朋友可以参考下...2016-01-29
  • 探究JavaScript函数式编程的乐趣

    本文是函数式编程系列的第一篇文章,这里我会简要介绍一下编程范式,然后会直接介绍使用Javascript进行函数式编程的概念,需要的朋友可以参考下...2015-12-16
  • Lua的table库函数insert、remove、concat、sort详细介绍

    这篇文章主要介绍了Lua的table库函数insert、remove、concat、sort详细介绍,本文分别给出了这几个函数的使用实例,需要的朋友可以参考下...2020-06-30
  • 深入浅析JavaScript函数前面的加号和叹号

    这篇文章主要介绍了深入浅析JavaScript函数前面的加号和叹号的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-07-25
  • Sort()函数的多种用法

    sort() 方法用于对数组的元素进行排序。接下来通过本文给大家介绍Sort()函数的多种用法,对sort函数的用法相关知识感兴趣的朋友一起学习...2016-03-22
  • JavaScript函数基础详解

    本文主要介绍了JavaScript函数的基础知识。具有很好的参考价值,下面跟着小编一起来看下吧...2017-02-08
  • JavaScript下的时间格式处理函数Date.prototype.format

    这篇文章主要介绍了JavaScript下的时间格式处理函数Date.prototype.format的相关资料,需要的朋友可以参考下...2016-01-30
  • 浅谈Mysql中类似于nvl()函数的ifnull()函数

    下面小编就为大家带来一篇浅谈Mysql中类似于nvl()函数的ifnull()函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-03-14
  • Mysql inner join on的用法实例(必看)

    下面小编就为大家带来一篇Mysql inner join on的用法实例(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
  • jQuery中 bind的用法简单介绍

    bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。这篇文章主要介绍了jQuery中的 bind用法,需要的朋友可以参考下...2017-02-19
  • C#中Arraylist的sort函数用法实例分析

    这篇文章主要介绍了C#中Arraylist的sort函数用法,较为详细的分析了ArrayList的sort函数的功能、定义及具体使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • mysql常用日期时间/数值函数详解(必看)

    下面小编就为大家带来一篇mysql常用日期时间数值函数详解(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-06-24
  • javascript针对不确定函数的执行方法

    这篇文章主要介绍了javascript针对不确定函数的执行方法,实例分析了eval函数及符号属性两种执行方式,需要的朋友可以参考下...2015-12-18
  • sort page 排序和分页的小例子

    花了一上午时间,终于写了一个进行排序并且分页的类,下面将代码贴出来,望大家指正。...2020-06-25
  • 简述Matlab中size()函数的用法

    size()函数用来获取矩阵的行数和列数。接下来通过本文给大家介绍matlab中size()函数的用法,需要的朋友一起学习吧...2016-03-22
  • 老生常谈MYSQL模式匹配 REGEXP和like的用法

    下面小编就为大家带来一篇老生常谈MYSQL模式匹配 REGEXP和like的用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
  • php arsort 数组降序排序详细介绍

    php arsort函数用于将数组中的元素按照降序进行排序,如果排序成功则返回true,否则返回false,本文章向大家讲解arsort函数的基本语法及使用实例,需要的朋友可以参考下...2016-11-22