js 数组排序

  sort()方法使数组中的元素按照一定的顺序排列。

  语法:

  arrayObject.sort(方法函数)

  参数说明:

  1.如果不指定<方法函数>,则按unicode码顺序排列。

  2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。

  注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
    若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
    若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。

1 <script type="text/javascript">
2   var myarr1 = new Array("Hello","John","love","JavaScript");
3   var myarr2 = new Array("80","16","50","6","100","1");
4   document.write(myarr1.sort()+"<br>");
5   document.write(myarr2.sort());
6 </script>

  结果:  

1 Hello,JavaScript,John,love
2 1,100,16,50,6,80

  注意:上面的代码没有按照数值的大小对数字进行排序。

  如要实现这一点,就必须使用一个排序函数,代码如下:

  

1 <script type="text/javascript">
2   function sortNum(a,b) {
3   return a - b;
4  //升序,如降序,把“a - b”该成“b - a”
5 }
6  var myarr = new Array("80","16","50","6","100","1");
7   document.write(myarr + "<br>");
8   document.write(myarr.sort(sortNum));
9 </script>
时间: 2024-12-28 02:40:44

js 数组排序的相关文章

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 数组排序要注意的问题,返回的值最好为 -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

js数组排序,支持正反排序以及多维度排序

工作中遇到js数组排序问题,数组中存储的都是对象,于是就百度了下,利用别人的代码进行修改,最终完成可以倒序.反序,可以进行多维度排序的功能源码如下: /** * js数组排序 支持数字和字符串 * @param params * @param arrObj obj 必填 数组对象 * @param keyName string 必填 要排序的属性名称 * @param type int 选填 默认type:0 正顺 type:1反顺 */ function arrItemSort(arrObj,

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 >

Js 数组排序函数sort()

最近看到一个js函数sort()觉得挺有意思,写在这里与大家分享.如果有什么地方不对或者有更好的写法,也请大家不吝赐教. sort()返回一个元素已经进行了排序的 Array 对象. 1. 按字母排序 直接使用sort()函数,默认按字母顺序排. var arr = new Array("dd", "aa", "bb", "cc"); arr.sort(); 此时返回结果排序为  "aa", "b

js数组排序

<title>综合练习3-1</title> <script language="javascript"> <!-- // 定义变量引用一个数组对象 var oMyArray = new Array( 13, 55, 37, 33, 45, 9, 60, 21, 10 ); // 输出排序前的数组 document.write( "排序前:" + oMyArray ); // 开始排序 for ( index in oMyA

使用vue.js仿一个链家

Vue全家桶+localstorage+socket.io简单仿一个链家 在线预览地址首先上项目和预览地址 https://luxroid.com/lianjia/#/Github地址 https://github.com/mixihome/lianjia 注意 如果要在本地运行安装完依赖之后如果报错请手动使用淘宝镜像安装node-sass和sass-loader 确保可以运行建议使用F12移动端模式预览???? 使用到的技能点Vue.js : 前端页面展示Vuex : 全局状态通信axios

js数组的排序

简单的js数组排序: <span style="font-size:18px"><script LANGUAGE=javascript> var arr=[112,6,3,77,33,11,4]; arr.sort(function(a,b){return a-b}); alert(arr.toString());//3,4,6,11,33,77,112 </script></span> 二元数组排序: <span style=&q

js排序算法

利用js来实现一些常见的排序算法,在面试中问得还是挺多的,下面我就其进行了简单的总结. sort()方法 首先要讲讲JS数组排序的sort方法,它实现的原理是通过两两比较的方法,sort()方法按升序排列数组项,即最小的值位于最前面,最大的值位于最后面,为了实现排序,sort()方法会调用每个数组项的toString()方法,然后比较得到的字符串,即使数组中的每一项都是数值,sort方法比较的也是字符串.因此有必要定义一个比较函数: function compare(value1,value2)