js中的sort()使用方法

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

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

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

若 a 等于 b,则返回 0。

若 a 大于 b,则返回一个大于 0 的值。

简单点:比较函数两个参数a和b,返回a-b升序,返回b-a降序

以下通过几个例子来理解

普通数组 升序

var arr = [4,3,6,5,7,2,1];arr.sort();console.log(arr);//输出结果[1,2,3,4,5,6,7]

登录后复制

普通数据 降序

var arr = [4,3,6,5,7,2,1];arr.sort();arr.sort(function(a,b){    return b-a;});console.log(arr);//输出结果[7,6,5,4,3,2,1]

登录后复制

对象数组排序

var arr= [     { 'sortNo': 2},    { 'sortNo': 1},    { 'sortNo': 5},    { 'sortNo': 6},    { 'sortNo': 7},    { 'sortNo': 3},    { 'sortNo': 9},    { 'sortNo': 4},    { 'sortNo': 0}];arr.sort(function(a, b){        return a.sortNo - b.sortNo;});console.log(arr);//输出结果//{ 'sortNo': 2}//{ 'sortNo': 1}//{ 'sortNo': 5}//{ 'sortNo': 6}//{ 'sortNo': 7}//{ 'sortNo': 3}//{ 'sortNo': 9}//{ 'sortNo': 4}//{ 'sortNo': 0}

登录后复制

对象数组多条件排序

(此例如果sortNo相同,则按sortNo2从大到小)

var arr= [     { 'sortNo': 2, 'sortNo2': 3},    { 'sortNo': 1, 'sortNo2': 3},    { 'sortNo': 5, 'sortNo2': 3},    { 'sortNo': 6, 'sortNo2': 3},    { 'sortNo': 7, 'sortNo2': 3},    { 'sortNo': 3, 'sortNo2': 4},    { 'sortNo': 3, 'sortNo2': 2},    { 'sortNo': 3, 'sortNo2': 1},    { 'sortNo': 3, 'sortNo2': 3},    { 'sortNo': 8, 'sortNo2': 3},    { 'sortNo': 4, 'sortNo2': 1},    { 'sortNo': 4, 'sortNo2': 2}];arr.sort(function(a, b){    if (a.sortNo === b.sortNo) {            return b.sortNo2 - a.sortNo2;    } else {            return a.sortNo - b.sortNo;    }});console.log(arr); //输出结果//{ 'sortNo': 1, 'sortNo2': 3}//{ 'sortNo': 2, 'sortNo2': 3}//{ 'sortNo': 3, 'sortNo2': 4}//{ 'sortNo': 3, 'sortNo2': 3}//{ 'sortNo': 3, 'sortNo2': 2}//{ 'sortNo': 3, 'sortNo2': 1}//{ 'sortNo': 4, 'sortNo2': 2}//{ 'sortNo': 4, 'sortNo2': 1}//{ 'sortNo': 5, 'sortNo2': 3}//{ 'sortNo': 6, 'sortNo2': 3}//{ 'sortNo': 7, 'sortNo2': 3}//{ 'sortNo': 8, 'sortNo2': 3}

登录后复制

相关推荐:

实例详解JavaScript数组排序reverse()和sort()方法

javascript中函数sort()是如何运行的

JavaScript对数组的元素进行排序的方法sort()

以上就是js中的sort()使用方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2783224.html

(0)
上一篇 2025年3月8日 16:46:20
下一篇 2025年3月3日 11:05:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js中slice()使用方法

    本文主要和大家分享js中slice()使用方法,slice()通过索引位置获取新的数组,该方法不会修改原数组,只是返回一个新的子数组。 用法:arrayobj.slice(start,end) arrayObj – 原始数组; …

    编程技术 2025年3月8日
    200
  • JS的函数节流使用

    这次给大家带来js的函数节流使用,js函数节流使用的注意事项有哪些,下面就是实战案例,一起来看一下。 函数节流(throttle) 函数节流就是预定一个函数只有在大于等于执行周期时才执行,周期内调用不执行。好像水滴攒到一定重量才会落下一样。…

    编程技术 2025年3月8日
    200
  • js之datatables的处理方法实例

    本文主要和大家分享js之datatables的处理方法实例,希望能帮助到大家。 /** * 初始化表单 */me.initDatatable = function() {me.interns0301Table = $(“#interns03…

    编程技术 2025年3月8日
    200
  • 关于JS继承的详解

    这次给大家带来关于js继承的详解,使用js继承的注意事项有哪些,下面就是实战案例,一起来看一下。 ECMAScript 实现继承的方式不止一种。这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的。这意味着所有的…

    编程技术 2025年3月8日
    200
  • JS事件绑定与冒泡实例详解

    本文主要和大家分享JS事件绑定与冒泡实例详解,希望能帮助到大家。 XAMPP A Apache 阿帕奇服务器M MysqlP PHPP PERL 登录后复制 JSON JSON 轻量级的数据交换格式XML 一种数据交换格式JSON用来表示对…

    编程技术 2025年3月8日
    200
  • Javascript的策略模式

    这次给大家带来javascript的策略模式,javascript策略模式的注意事项有哪些,下面就是实战案例,一起来看一下。 策略模式是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户…

    编程技术 2025年3月8日
    200
  • Javascript的观察者模式

    这次给大家带来javascript的观察者模式,javascript观察者模式的注意事项有哪些,下面就是实战案例,一起来看一下。 观察者(又称发布订阅)模式定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象…

    编程技术 2025年3月8日
    200
  • js如何获取select标签选中的值

    本文主要和大家分享js如何获取select标签选中的值,有两种方式和大家分享,希望能帮助到大家。 var obj = document.getElementByIdx_x(”testSelect”); //定位idvar index = o…

    编程技术 2025年3月8日
    200
  • 几种JS创建对象的方式分享

    本文主要和大家分享几种JS创建对象的方式,希望能帮助到大家。 1、使用原生构造函数创建特定类型的对象   var person =new Object();    person.name=”wangwu”;    person.age=”2…

    编程技术 2025年3月8日
    200
  • Javascript的单例模式

    这次给大家带来javascript的单例模式,javascript单例模式的注意事项有哪些,下面就是实战案例,一起来看一下。 单例模式是一个用来划分命名空间并将一批属性和方法组织在一起的对象,如果它可以被实例化,那么它只能被实例化一次。 划…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论