Js 数组排序函数sort()

最近看到一个js函数sort()觉得挺有意思,写在这里与大家分享。如果有什么地方不对或者有更好的写法,也请大家不吝赐教。

sort()返回一个元素已经进行了排序的 Array 对象。

1. 按字母排序

  直接使用sort()函数,默认按字母顺序排。

  var arr = new Array("dd", "aa", "bb", "cc");

  arr.sort();

  此时返回结果排序为  "aa", "bb", "cc", "dd"

2. 按字母倒序排序

  var arr = new Array("dd", "aa", "bb", "cc");

  arr.sort(function test(a,b){

    if(a.toString().toLowerCase() < b.toString().toLowerCase())
      return 1;
    else
      return -1;
  });

  此时返回结果排序为  "dd", "cc", "bb", "aa"

3. 按数字大小排序

  var arr = new Array("22", "11", "55", "111");

  arr.sort(function(a, b){
    return a - b;   // 若这里写的是 b - a, 则返回结果为按数字倒序排列
  });

  此时返回结果排序为  "11", "22", "55", "111"

4. 随机排序

  arr.sort(function test(a,b){
    return 0.5 - Math.random();
  });

时间: 2024-10-05 20:46:10

Js 数组排序函数sort()的相关文章

js中的数组排序函数sort()和reverse()

对列表进行排序一般都由后台来完成,但如果列表项不多无需分布的话也可以用JS完成,要使用JS排序自然也就想到sort()方法和reverse()方法,这两函数在JS中使用得比较多大家也许比较熟悉,但对于刚接触这两函数的初学者还是需要注意几点. sort() 方法用于对数组的元素进行正序排列 reverse();方法用于对数组的元素进行倒序排列,这个没有什么可说的,所谓倒序就是大的在前面,小的在后面 例: 1 var array = [0,1,5,10,15]; 2 document.write(

PHP 数组排序函数sort,rsort,ksort,krsort,asort,arsort区别

一.概念:    1.自然排序法:即按自然数的大小排序,例如“10>2”;    2.计算机标准排序法:是以逐个字符比较,排序,例如“2>10”(因为第一位2>1):    3.数值数组:带有数字 ID 键的数组:    4.关联数组:带有指定的键的数组,每个键关联一个值.    5.默认的排序为按键值升序排序,排序方式为自然排序. 二.[帮助理解] 1.a(association)前缀表示以键值关联排序: 2.k(key)前缀表示以键名关联排序: 3.r(reverse)前缀表示以反方

PHP排序函数sort底层实现分析

线性表(即线性数据结构,如数组和链表)的常规排序算法,包括冒泡.插入.选择.归并和快排,其中综合性能最好的就是快排(快速排序),所以快排在工程实践中也有大量的应用,比如很多编程语言都提供了排序函数,而这些排序函数基本都是基于快速排序实现的,比如 PHP 的数组排序函数 sort 就是如此. 今天我们将以此函数的底层实现为例,为大家展示如何基于快速排序来实现 PHP 的 sort 函数(准确的说,是综合运用了插入排序和快速排序). PHP 数组排序函数 sort 底层实现分析 首先我们来给大家介绍

js数组排序 reverse()和sort()方法的使用

WEB前端|js数组排序reverse()和sort()方法的使用,数组中已经存在两个可以直接用来重排序的方法:reverse()和sort(). reverse()方法会对反转数组项的顺序. var values = [1, 2, 3, 4, 5]; values.reverse(); alert(values);  //5,4,3,2,1 这里数组的初始值及顺序是1.2.3.4.5.而调用数组的reverse()方法后,其值的顺序变成了5.4.3.2.1.这个方法的作用相当只管明了,但不够灵

JS常用函数大全

免疫bodyclick方法 这个是个比较好的方法,一个弹出窗口,要设定在任何其他地方点击这个窗口会自动消失,但点这个窗口内部是没事的.那么就要用到这个方法了. // (对body点击产生效果免疫的部分, 阻止冒泡body事件) // 通过ID屏蔽->@args(event, targetID) function blockClickToBodyById(a,b){return b==$(a.target).prop("id")||$(a.target).parents("

js 数组排序和算法排序

1.算法排序 a.插入排序 var arr = [23,34,3,4,23,44,333,444]; var arrShow = (function insertionSort(array){ if(Object.prototype.toString.call(array).slice(8,-1) ==='Array'){ for (var i = 1; i < array.length; i++) { var key = array[i]; var j = i - 1; while (j >

PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析

在php中自带了大量了数组排序函数,下面我们一一来介绍一下关于php数组排序的用法吧. sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系. arsort() 函数用于对数组单元从高到低进行排序并保持索引关系. ksort() 函数用于对数组单元按照键名从低到高进行排序. krsort() 函数用于对数组单元按照键名从高到低进行排序. sort() PHP sort() 函数用

js 数组排序要注意的问题,返回的值最好为 -1, 0, 1之间的值

var test10Elements = [7, 6, 5, 4, 3, 2, 1, 0, 8, 9]; var comparefn = function (x, y) { return x - y; }; test10Elements.sort(comparefn); var comparefn2 = function (x, y) { return x > y; }; test10Elements.sort(comparefn2); http://w3help.org/zh-cn/cause

PHP二维数组排序函数

PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义. 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义: function array_sort($arr,$keys,$type='asc'){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v){ $keysvalue[$k] = $v[$keys]; } if($type == 'asc'){