array.sort()

默认是升序排序:

var arrA=[6,2,4,3,5,1]

arra.sort();

document.writenIn(arrA);

//1,2,3,4,5,6

sort() 方法可以接受一个 方法为参数 ,这个方法有两个参数。分别代表每次排序比较时的两个数组项。
sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项的顺序,否则就不交换。

var arrA = [6,2,4,3,5,1]; 
/**//*arrA.sort(); 
document.writeln(arrA); 
*/ 
function desc(x,y) 
...{ 
if (x > y) 
return -1; 
if (x < y) 
return 1; 

function asc(x,y) 
...{ 
if (x > y) 
return 1; 
if (x < y) 
return -1; 

arrA.sort(desc); // sort by desc 
document.writeln(arrA); 
document.writeln("<br>"); 
arrA.sort(asc); //sort by asc 
document.writeln(arrA); 
//输出结果: 
6,5,4,3,2,1 
1,2,3,4,5,6

另外,可以直接把一个无名函数直接放到sort()方法的调用中。如下的例子是将奇数排在前面,偶数排在后面

var arrA = [6,2,4,3,5,1]; 
arrA.sort( function(x, y) ...{ 
if (x % 2 ==0) 
return 11; 
if (x % 2 !=0) 
return -1; 

); 
document.writeln(arrA); 
//输出:1,5,3,4,6,2

时间: 2024-10-04 09:28:18

array.sort()的相关文章

C# 字典排序Array.Sort

Array.Sort可以实现便捷的字典排序,但如果完全相信他,那么就容易产生些异常!太顺利了,往往是前面有坑等你. 比如:微信接口,好多地方需要签名认证,签名的时候需要用的字典排序,如果只用Array.Sort()会出现签名异常的情况,而且是偶尔出现. 问题就在于他的排序默认没有区分大小写,这跟微信的签名将不匹配,所以还是需要自己实现比较的方法 public class DictionarySort : System.Collections.IComparer { public int Comp

C#中Array.Sort() 快速排序-源码分析

快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序.它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod). 该方法的基本思想是: 1.先从数列中取出一个数作为基准数. 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边. 3.再对左右区间重复第二步,直到各区间只有一个数. 之前提到过,Array的Sort()方法采用的是快速排序方法,通过使用.NET Reflector对程序集mscorlib进行解析,分析源码.

.NET Framework System.Array.Sort 演示

本文内容 自定义类 Array.Sort 参考资料 System.Array.Sort 有很多对集合的操作,比如排序,查找,克隆等等,你可以利用这个类加深对 IComparer.IComparable.ICloneable 以及泛型委托.匿名方法.Lambda 表达式的理解. 下载 Demo 自定义类 自定义后面用到的 Person 类和 PersonComparer 类. 自定义 Person 类,该类有两个属性:last name 和 first name,重构了 ToString 方法.P

ToUpperInvariant and Array.Sort

string[] words = { "Tuesday", "Sal?", "Вторник", "Mardi", "Τρ?τη", "Martes", "??? ?????", "????????", "?????????" }; StreamWriter sw = new StreamWriter(@".\outp

Array.Sort 谷歌内核 数组大小超过10 排序字段都一致 返回的数组非原数组

1.如果数据大小小于等于10 都正常 2.数据大小大于10 3.js中Array.sort的实现原理 定义:sort() 方法用于对数组的元素进行排序. api语法:arrayObject.sort(sortby):参数sortby可选,用于规定排序规则,必须是函数. 具体是如何实现的? V8 引擎 sort 函数只给出了两种排序分别是: InsertionSort 和 QuickSort,数组长度小于等于 10 的用插入排序 InsertionSort,比10大的数组则使用快速排序 Quick

javascript学习笔记之array.sort

arrayName.sort()方法: 功能是实现排序(按ascii编码或按数字大小),可无参或有参使用,无参时默认升序排列.有参时可实现升序或降序排列,参数必须是具有返回值的方法,当方法表达式大于0时将交换两数的顺序.即 arrayName.sort(表达式 { if(表达式>0) 交换顺序; else if(表达式<0) 不执行操作; else //表达式=0 根据浏览器支持选择具体操作; }); 其中表达式(==方法)将会决定排序原则,具体地实例是 arrayName.sort(func

Array.sort排序

Sorting an Array 1. 数字排序  int[] intArray = new int[] { 4, 1, 3, -23 }; Arrays.sort(intArray);     输出: [-23, 1, 3, 4] 2. 字符串排序,先大写后小写 String[] strArray = new String[] { "z", "a", "C" }; Arrays.sort(strArray); 输出: [C, a, z] 3.

Array.sort详解(jdk6)

java.util.Arrays提供了对数组int[] long[] byte[] char[] short[] double[] float[] Object[]的排序算法Arrays.sort(T[]),以及更高级的Arrays.sort(T[], Comparator<? super T> c); 先看对int\long\byte\char\short的排序算法sort1(byte x[], int off, int len) 1)排序长度len<7时,直接采用插入排序,是因为虽然

c array sort

1 // 2 // Created by jia on 19/12/18. 3 // 4 #include "../header.h" 5 //information 6 void print_label(char* string){ 7 printf("%s\n", string); 8 } 9 //oupt array 10 void arr_output(int n, int arr[]){ 11 for(int i = 0; i < n; i ++){

JavaScript中数组Array.sort()排序方法详解

JavaScript中数组的sort()方法主要用于对数组的元素进行排序.其中,sort()方法有一个可选参数.但是,此参数必须是函数. 数组在调用sort()方法时,如果没有传参将按字母顺序(字符编码顺序)对数组中的元素进行排序,如果想按照其他标准进行排序,就需要进行传一个参数且为函数,该函数要比较两个值,并且会返回一个用于说明这两个值的相对顺序的数字. 1.对数字数组进行由小到大的顺序进行排序. 代码: var arr = [22,12,3,43,56,47,4]; arr.sort();