javascript中数组的sort()方法的使用介绍
<html>
<head>
<title>数组的sort()方法</title>
<script>
/*
sort()
1、没有产生副本,直接引用原数组
2、如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,
说得更精确点,是按照字符编码的顺序进行排序。
要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
3、如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,
然后返回一个用于说明这两个值的相对顺序的数字。
比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
*/
var arr = [2,4,8,1,22,3];
var arrSort= arr.sort();//没有正确排序,数组先转化为字符串,然后再排序
document.write("默认的排序数组为:" + arrSort);//1,2,22,3,4,8
document.write("<br/>");
//比较函数
function mysort(a,b){
return a-b;
}
var arrSort2 = arr.sort(mysort);//传入比较函数
document.write("传入比较参数的数组为:" + arrSort2);//正确排序
document.write("<br/>");
document.write("原数组为:" + arr);
</script>
</head>
<body>
<div id="time"></div>
</body>
</html>
相关推荐
-
javascript中sort() 方法使用详解
语法:arrayObject.sort(sortby):参数sortby可选.规定排序顺序.必须是函数. sort() 方法用于对数组的元素进行排序. 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点, 首先应把数组的元素都转换成字符串(如有必要),以便进行比较. 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字. 比较函数应该具有两个参数 a 和 b,其返回
-
js 自带的sort() 方法全面了解
1. 方法概述 Array的sort()方法默认把所有元素先转换为String再根据Unicode排序, sort()会改变原数组,并返回改变(排序)后的数组 . 2. 例子 2.1 如果没有提供自定义的方法, 数组元素会被转换成字符串,并返回字符串在Unicode编码下的顺序比较结果 var fruit = ['cherries', 'apples', 'bananas']; fruit.sort(); // ['apples', 'bananas', 'cherries'] var scor
-
js中的数组Array定义与sort方法使用示例
Array数组相当于java中的ArrayList 定义方法: 1:使用new Array(5 )创建数组 var ary = new Array(5): 2:使用Json语法,var ary = [1,3,4]: 数组排序: 例: 复制代码 代码如下: function sort(){ var ary=[11,12,3,5,29]; ary.sort();//按照字符编码排序11,12,29,3,5; alert(ary.toString()); ary.sort(function(v1,v2
-
js中数组排序sort方法的原理分析
本文实例分析了js中数组排序sort方法的原理.分享给大家供大家参考.具体分析如下: 最近在百度的项目中要用到对数组进行排序,当然一开始自然想到了数组的sort方法,这方法应用非常简单,大致如下: 复制代码 代码如下: window.onload=function(){ var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98]; var arr2=["George","John","
-
js中array的sort()方法使用介绍
或许你一直在用javascript中的array的sort. 或许你一直相信它会给你正确的结果. 至少我曾经也是这样认为的,直到有一天,我看到了如下的代码 : 复制代码 代码如下: [5,10,1].sort(); 或许结果有点出人意料.结果如下: 复制代码 代码如下: [1,10,5] 仔细深究之后,发现原来默认的sort方法并不是按照整形数据来排序,而是用的字符串匹配方式. 换言之就是10 中的这个 1 导致了上面代码的错误. 当然,解决方法有很多,可以给sort方法中传入回调函数. 复制代
-
js数组Array sort方法使用深入分析
javascript 中 Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列,实例代码如下: 复制代码 代码如下: var arrA = [6,2,4,3,5,1]; arrA.sort(); document.writeln(arrA); //结果是:1,2,3,4,5,6 sort() 方法可以接受一个 方法为参数 ,这个方法有两个参数.分别代表每次排序比较时的两个数组项.sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这
-
JavaScript中用sort()方法对数组元素进行排序的操作
JavaScript数组sort()方法排序数组的元素. 语法 array.sort( compareFunction ); 下面是参数的详细信息: compareFunction : 指定一个函数,定义排序次序.如果省略,数组字典顺序排序. 返回值: 返回一个排序的数组 例子: <html> <head> <title>JavaScript Array sort Method</title> </head> <body> <s
-
JS中的数组的sort方法使用示例
复制代码 代码如下: var values=[0,1,5,10,15]; values.sort(); alert(values);// 输出0,1,10,15,5 这是因为sort会调用每一项的toString方法进行比较,"10"比"5"小,故在前面. 要实现对数值进行排序,则需要定义一个比较函数,并将该函数传入sort. 复制代码 代码如下: function compare(value1,value2){ if(value1<value2){ retu
-
Javascript数组的排序 sort()方法和reverse()方法
其中: 1.JavaScript的sort()中如果没有指定比较函数,则默认会按照字符的编码顺序进行升序排序.也就是说如果我们想要对数值进行排序得到的不一定是我们想要的结果. 2.Javascript的reverse()将数组中的元素逆序. 先看看上面的第一点,如果有一个数组arr=[1,6,3,7,9],使用arr.sort()后,数组的顺序为1,3,6,7,9,得到了我们想要的结果. 再看看下面的一个数组排序:arr=[3,1,16,34,30],如果执行arr.sort()后是不是还是会得
-
javascript中数组的sort()方法的使用介绍
复制代码 代码如下: <html> <head> <title>数组的sort()方法</title> <script> /* sort() 1.没有产生副本,直接引用原数组 2.如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序, 说得更精确点,是按照字符编码的顺序进行排序. 要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较. 3.如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值, 然后返
-
JavaScript中数组Array.sort()排序方法详解
JavaScript中数组的sort()方法主要用于对数组的元素进行排序.其中,sort()方法有一个可选参数.但是,此参数必须是函数. 数组在调用sort()方法时,如果没有传参将按字母顺序(字符编码顺序)对数组中的元素进行排序,如果想按照其他标准进行排序,就需要进行传一个参数且为函数,该函数要比较两个值,并且会返回一个用于说明这两个值的相对顺序的数字. 1.对数字数组进行由小到大的顺序进行排序. 代码: var arr = [22,12,3,43,56,47,4]; arr.sort();
-
javascript中数组的concat()方法使用介绍
复制代码 代码如下: <html> <head> <title>数组的concat()方法</title> <script> /* 数组的concat()方法: 1.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 2.返回一个新的数组.该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的. 如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组. */ var arr1 = [
-
JavaScript中数组成员的添加、删除介绍
JavaScript中,由于数组长度是可变的,因此可以通过直接定义新的成员而将其添加到数组中: 复制代码 代码如下: var o = [2,3,5]; o[3] = 7; console.log(o);//[2,3,5,7] 除了这种方法,还可以通过使用push()语句来达到相同的目的: 复制代码 代码如下: o.push(11); console.log(o);//[2,3,5,7,11] o.push(13,17); console.log(o);//[2,3,5,7,11,13,17] 如
-
详解JavaScript中数组的reduce方法
介绍 我们先来看看这个方法的官方概述:reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. 你一定也和我一样看的有点迷糊,其实reduce接收的就是一个回调函数,去调用数组里的每一项,直到数组结束. 我们来举个例子大家就很明白了. 假设我有一串数组,数组里放的全是数字,我要算出这些数字的总和是多少.正常情况下我们会循环,然后一个个加,有了reduce就不用那么麻烦了,只用一行代码. var total = [0,1,2,3,4
-
JavaScript中数组sort()方法的基本使用与踩坑记录
前言 在日常的代码开发中,关于数组排序的操作可不少,JavaScript 中可以调用 sort 方法对数组进行快速排序. 今天,就数组的 sort 方法来学习一下,避免日后踩坑的悲惨遭遇. 概念 sort 方法用于对数组的元素进行排序. 语法 arr.sort([compareFunction]) 参数解析 compareFunction (可选) 用来指定按某种顺序进行排列的函数.该函数有两个参数: firstEl 第一个比较的元素 secondEl 第二个比较的元素 该函数如果省
-
总结Javascript中数组各种去重的方法
前言 在做javascript开发的时候,经常会遇到数组元素重复的问题,而javascript Array又没有直接提供方法解决此问题,还需要自己去实现.这篇文章总结了Javascript中数组各种去重的方法,下面来一起看看. 方法一 利用对象属性不重复的特性 Array.prototype.distinct = function (){ var arr = this, i, obj = {}, result = [], len = arr.length; for(i = 0; i< arr.l
-
JavaScript中数组的22种方法必学(推荐)
前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍 对象继承方法 数组是一种特殊的对象,继承了对象Object的toString().toLocaleString()和valueOf()方法 [toString()] toString()方法返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串 [注意]该方法的返回值与不使用任何参数
-
Javascript中数组sort和reverse用法分析
本文实例讲述了Javascript中数组sort和reverse用法.分享给大家供大家参考.具体分析如下: sort() 方法用于对数组的元素进行排序. reverse()将数组中的元素逆序 首先我们来试试以下这段代码: 复制代码 代码如下: var values = [1, 0, 5, 15, 10]; values.reverse(); console.log(values); 输出结果会是什么呢: [ 10, 15, 5, 0, 1 ] reverse()也就是很简单的把数组倒过来而已,那
-
JavaScript中数组去重常用的五种方法详解
目录 1.对象属性(indexof) 2.new Set(数组) 3.new Map() 4.filter() + indexof 5.reduce() + includes 补充 原数组 const arr = [1, 1, '1', 17, true, true, false, false, 'true', 'a', {}, {}]; 1.对象属性(indexof) 利用对象属性key排除重复项 遍历数组,每次判断新数组中是否存在该属性,不存在就存储在新数组中 并把数组元素作为key,最后返
随机推荐
- 基于java servlet过滤器和监听器(详解)
- C#编写Windows服务程序详细步骤详解(图文)
- XP打印共享四大问题及解决方法
- 批处理(bat)命令学习的一些总结
- Android 手机获取手机号实现方法
- Docker搭建前端Java的开发环境详解
- 在ASP.NET 2.0中操作数据之七十一:保护连接字符串及其它设置信息
- asp.net内置对象 Response对象使用介绍
- php生成不重复随机数、数组的4种方法分享
- 用JSP实现的一个日历程序
- JQUERY 对象与DOM对象之两者相互间的转换
- jquery层级选择器的实现(匹配后代元素div)
- C++ 迷宫游戏实现代码
- 窃取QQ中社会工程学的应用实例
- 最近流行的ARP病毒彻底清除方法
- c#基础学习之封装
- 深入浅析python继承问题
- C#实现字体旋转的方法
- Android优化查询加载大数量的本地相册图片
- Docker 1分钟搭建DNS服务器的方法