如何使用JavaScript数组方法sort给数值类型元素排序

1. 问题背景

如果定义了一个字符串类型数组,可以直接使用sort方法,对元素进行排序;但是如果数组的元素是数值类型的,使用sort方法进行排序,效果就达不到了。如果坚持使用sort方法对数值类型元素排序,可以添加一个比较大小的函数。

2. 实现源码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>使用sort方法给数组元素排序</title>
        <script>
            window.onload = function(){
                var a = ['hui','you','are','save','add','opp'];
                a.sort();
                console.log(a);
                
                var b = [23,90,100,1,300,768,2];
                b.sort();
                console.log(b);
            }
        </script>
    </head>
    <body>
    </body>
</html>

3. 实现效果

实现效果

4. 改进源码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>使用sort方法给数组元素排序</title>
        <script>
            window.onload = function(){
                var a = ['hui','you','are','save','add','opp'];
                a.sort();
                console.log(a);
                
                var b = [23,90,100,1,300,768,2];
                b.sort(compareData);
                console.log(b);
            }
            
            function compareData(n1,n2){
                return n1 - n2;
            }
        </script>
    </head>
    <body>
    </body>
</html>

5. 改进效果

改进效果

6. 代码说明

sort方法是按照字典顺序对元素进行排序的,因此它排序的元素类型都是字符串;如果元素类型是数值类型,它也会认为是字符串。如果还是想要使用sort方法对数组数值元素排序,可以在排序之前传入一个比较大小的函数,sort方法可以根据函数比较两个元素的大小,确定数组的顺序。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,200评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,622评论 0 4
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,453评论 0 21
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,700评论 0 3
  • 本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...
    闷油瓶小张阅读 763评论 0 0

友情链接更多精彩内容