Javascript中数组sort和reverse用法分析

 更新时间:2014年12月30日 16:13:18   投稿:shichen2014  
这篇文章主要介绍了Javascript中数组sort和reverse用法,实例分析了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()也就是很简单的把数组倒过来而已,那么接下来想吐槽的是sort()

复制代码 代码如下:
var values = [1, 0, 5, 15, 10];
values.sort();
console.log(values);

这段函数输出结果竟然是:
[ 0, 1, 10, 15, 5 ]

这是怎么回事?

实际上,在sort()函数内部会使用toString()转型,而String比较是通过ASCII,所以,我们如果需要排序的话,还是自己写一个sort()比较好。

复制代码 代码如下:
var values = [1, 0, 5, 15, 10];
function compare(value1, value2) {
    if (value1 < value2) {
        return -1;
    } else if (value1 > value2) {
        return 1;
    } else {
        return 0;
    }
}
values.sort(compare);
console.log(values);

如果调换一下-1和1就能逆向排序啦。

现在的输出结果:
[ 0, 1, 5, 10, 15 ]

更简单的写法是,在compare()内部使用return value2 - value1;

希望本文所述对大家的javascript程序设计有所帮助。

相关文章

  • JS如何实现基于websocket的多端桥接平台

    JS如何实现基于websocket的多端桥接平台

    我们在调试过程使用的工具有:modheader,postman等,但这些工具都会存在的问题:缺少客户端里相应的设备信息;即使将cookie信息复制出来,也是存在过期的问题;多个设备之间切换时不方便;针对这些存在的问题,我基于websocket双向通信的特点,实现了多端桥接管理平台
    2021-05-05
  • 自己动手写的javascript前端等待控件

    自己动手写的javascript前端等待控件

    等待控件在网上搜有好多种,但是都很复杂,不一定用的顺手,再说我的项目是bootstrap的原因,又不敢轻易使用第三方控件,怕不兼容,于是自己动手写了个等待控件,有需要的朋友可以参考下
    2015-10-10
  • JavaScript立即执行函数的三种不同写法

    JavaScript立即执行函数的三种不同写法

    这篇文章主要介绍了JavaScript立即执行函数的三种不同写法,需要的朋友可以参考下
    2014-09-09
  • JavaScript前端静态资源预加载实现示例

    JavaScript前端静态资源预加载实现示例

    这篇文章主要为大家介绍了JavaScript前端静态资源预加载实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Bootstrap开发实战之响应式轮播图

    Bootstrap开发实战之响应式轮播图

    这篇文章主要为大家详细介绍了Bootstrap开发实战之响应式轮播图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • JavaScript深拷贝与浅拷贝实现详解

    JavaScript深拷贝与浅拷贝实现详解

    深拷贝和浅拷贝是面试中经常出现的,主要考察对基本类型和引用类型的理解深度,这篇文章主要给大家介绍了关于js深拷贝和浅拷贝的相关资料,需要的朋友可以参考下
    2022-11-11
  • JS弹性运动实现方法分析

    JS弹性运动实现方法分析

    这篇文章主要介绍了JS弹性运动实现方法,结合实例形式分析了JS实现弹性运动的原理、相关技术细节与实现技巧,需要的朋友可以参考下
    2016-12-12
  • jsPDF导出pdf示例

    jsPDF导出pdf示例

    这篇文章主要介绍了jsPDF如何导出pdf,不过其貌似不支持中文,需要的朋友可以参考下
    2014-05-05
  • 一文学会用JS判断文字是否被省略(ellipsis)

    一文学会用JS判断文字是否被省略(ellipsis)

    这篇文章主要给大家介绍了用JS如何判断文字被省略ellipsis,CSS帮我们搞定了省略,但是JS并不知道文本什么时候被省略了,所以我们得通过JS来计算,接下来,我将介绍2种方法来实现JS计算省略,需要的朋友可以参考下
    2023-08-08
  • JS组件中bootstrap multiselect两大组件较量

    JS组件中bootstrap multiselect两大组件较量

    这篇文章主要介绍了JS组件中bootstrap multiselect两大组件,两者之间的较量,优缺点比较,感兴趣的小伙伴们可以参考一下
    2016-01-01

最新评论