文档章节

JavaScript sort()

writeademo
 writeademo
发布于 2016/12/08 10:20
字数 515
阅读 3
收藏 0

JavaScript sort() 方法

定义和用法

sort() 方法用于对数组的元素进行排序。

语法

arrayObject.sort(sortby)

参数

描述

sortby

可选。规定排序顺序。必须是函数。

返回值

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

说明

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。

实例

例子 1

在本例中,我们将创建一个数组,并按字母顺序进行排序:

<script type="text/javascript">

 

var arr = new Array(6)

arr[0] = "George"

arr[1] = "John"

arr[2] = "Thomas"

arr[3] = "James"

arr[4] = "Adrew"

arr[5] = "Martin"

 

document.write(arr + "<br />")

document.write(arr.sort())

 

</script>

输出:

George,John,Thomas,James,Adrew,Martin

Adrew,George,James,John,Martin,Thomas

例子 2

在本例中,我们将创建一个数组,并按字母顺序进行排序:

<script type="text/javascript">

 

var arr = new Array(6)

arr[0] = "10"

arr[1] = "5"

arr[2] = "40"

arr[3] = "25"

arr[4] = "1000"

arr[5] = "1"

 

document.write(arr + "<br />")

document.write(arr.sort())

 

</script>

输出:

10,5,40,25,1000,1

1,10,1000,25,40,5

请注意,上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数:

<script type="text/javascript">

 

function sortNumber(a,b)

{

return a - b

}

 

var arr = new Array(6)

arr[0] = "10"

arr[1] = "5"

arr[2] = "40"

arr[3] = "25"

arr[4] = "1000"

arr[5] = "1"

 

document.write(arr + "<br />")

document.write(arr.sort(sortNumber))

 

</script>

输出:

10,5,40,25,1000,1

1,5,10,25,40,1000

 

© 著作权归作者所有

共有 人打赏支持
writeademo
粉丝 25
博文 560
码字总数 205528
作品 0
东城
私信 提问
如何让ajaxfileupload.js支持IE9,IE10,并可以传递多个参数?

exception : SCRIPT5022: DOM Exception: INVALIDCHARACTERERR (5) 思路分析: 第一步:兼容IE9,firefox,Opera,Safari等浏览器; var iframe = document.createElement("iframe"); ifram......

cookqq
2013/07/16
0
1
前端JS开发总结

VUE element 饿了吗vue2.0组件 http://element.eleme.io/#/zh-CN/resource vue开发步骤: 1 http://www.jianshu.com/p/5ba253651c3b 2 1)http://www.jianshu.com/p/5ba253651c3b 2)http://......

mircle
2017/05/27
1
0
21+ 个 Fresh Ajax CSS 表格

1) Tablecloth – Css Globe has decided to present Tablecloth. Which is a lightweight, easy to use, unobtrusive way to add style and behaviour to your html table elements. 2) Cre......

红薯
2011/03/06
546
0
DataTables_修改语言为中文及DOM介绍

效果图片 Data Tables: http://datatables.net/ Version: 1.10.0 Dom说明 定义表格控件在页面的显示顺序。 每个控件元素在数据表都有一个关联的单个字母。 l - 每页显示行数的控件 f - 检索条...

喵王不瞌睡
2015/05/02
0
0
JavaScript中8个常见的陷阱

译者按: 漫漫编程路,总有一些坑让你泪流满面。 原文: Who said javascript was easy ? 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习...

Fundebug
2017/06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
4
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
4
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部