`
mutongwu
  • 浏览: 448427 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

数字数组排序

 
阅读更多
数组的sort方法默认采用字符串的比较方式(字典排序),例如 '11'< '2'。假如数组中的数字以字符的形式存在,排序结果就会出现问题。
示例:
var arr = [1,2,11,13,5,30];
arr.sort();
alert(arr); //1,11,13,2,30,5


因此,排序的时候我们应该自定义一个函数用于数字间的比较:
function cmp(val1,val2){
    var r = val1 - val2;
    if(r > 0) return 1;
    else if(r < 0) return -1;
    else return 0;
}
arr.sort(cmp);
alert(arr)//1,2,5,11,13,30

注意,假如比较函数的判断为
function cmp(val1,val2){
    /*
    这种比较方式将导致直接字符串比较,当数组元素以字符串形式存在时,很可能得到错误结果。*/
    if(val1 > val2) return 1;
    else if(val1  < val2) return -1;
    else return 0;
}
var arr = [1,2,'11',13,'5',30];
arr.sort(cmp);
alert(arr);//1,2,11,5,13,30
分享到:
评论

相关推荐

    易语言自定义数据类型数组排序

    本话题聚焦于“易语言自定义数据类型数组排序”,将深入探讨如何在易语言中创建、操作自定义数据类型数组,并实现各种排序算法,如根据产地、类别和售价等属性进行排序。 自定义数据类型在易语言中允许我们定义包含...

    排序函数(数字或字符串数组排序)

    为普通数组和对象数组排序,对象数组排序时,可指定排序所依据的对象属性,汉字将以汉语拼音为序。

    Labview二维数组排序

    不要看分数高,这个程序绝对可以对得起大家的分数。这个楼主的研究哈!反正下了评价后分数可以返还的................

    易语言文本数组排序39源码,易语言文本数组随机打乱排序

    易语言文本数组随机打乱排序源码,文本数组随机打乱排序,交换数据_ASM变量交变量,交换数据_ASM变量数组交变量数组,加,减,依文本类型排序,文本冒泡排序,按文本长度排序,每字分割_到数组,取文本第一个字,反转数组,打乱...

    易语言利用数组进行数值排序

    易语言利用数组进行数值排序,简单粗暴

    flex 数组排序

    ### Flex 数组排序知识点 #### 一、简介 在Flex开发中,经常需要对数组进行排序,特别是当处理复杂的二维数组或对象数组时。本文将详细介绍如何使用Flex中的`sortOn`方法对数组进行排序,并给出具体的代码示例。 ...

    关于JavaScript的数组排序

    在学习JavaScript中,做的笔记,关于数组排序的,具体是按字母升序排序,按数字升序或降序排序。如有需要,请自行下载。

    java-区分数字元素和字符串元素的数组排序-代码

    最后,将排序后的数字数组和字符串数组合并成一个最终的数组。可以使用 System.arraycopy() 方法将两个数组合并成一个数组。 代码实现 以下是完整的代码实现: ```java public class sortdemon2 { public static ...

    iOS模型数组排序

    在iOS开发中,数据模型数组的排序是一个常见的需求,特别是在显示列表或表格视图时。`sortedArrayUsingComparator`是Objective-C中`NSArray`类的一个方法,用于对数组中的对象进行自定义排序。这个方法非常强大,...

    无序数组排序

    例如,JavaScript的`Array.prototype.sort()`方法可以方便地对数组进行排序,但默认的排序规则可能不是完全数字升序,因此在排序数字数组时需要注意。 总的来说,这个任务涉及到了字符串处理、数组操作和排序算法等...

    算法-数组排序 按数组内数字大小排序 取得最大值或最小值.rar

    本压缩包文件"算法-数组排序 按数组内数字大小排序 取得最大值或最小值.rar"包含的内容很可能是关于如何实现数组排序以及如何高效地获取数组中的最大值和最小值的详细讲解。 一、排序算法概述 排序算法是用于重新...

    数组排序中的(选择,冒泡)

    在IT行业中,数组排序是一个基础且重要的概念,广泛应用于数据处理和算法实现。本文将深入探讨两种常见的排序算法——选择排序和冒泡排序,并结合给定的文件信息进行解析。 首先,选择排序是一种简单直观的排序算法...

    易语言字节型数组排序

    另外,易语言提供了内置的数组排序函数,如`数组排序`,可以直接对字节型数组进行升序或降序排序,简化代码编写。 总结,易语言字节型数组排序涉及到数据结构、排序算法以及易语言的语法特性。掌握这些知识,能够...

    编制一维数组排序程序。数组大小n用全局变量定义,数组数据从文本文件中读入或随机生成。包含冒泡排序、选择排序、插入排序三种排序方法。程序能够选择使用任何一种方法排序。

    在编程领域,数组排序是基础且重要的操作,尤其在数据处理和分析中。这个项目的目标是创建一个一维数组排序程序,它具有灵活性,能够处理不同来源的数据,并提供三种经典的排序算法供用户选择:冒泡排序、选择排序和...

    数组排序(VB6.0代码编写)给定一个数组,把不是升序的数据去掉,然后重新赋给另一数组

    在VB6.0编程环境中,数组排序是一项常见的任务,它涉及到对一组数值或对象进行排列,使其按照特定的顺序(如升序或降序)排列。在这个特定的案例中,我们要实现的功能是去除一个数组中非升序的元素,并将剩下的升序...

    易语言源码文本数组排序.rar

    《易语言源码文本数组排序》 易语言,作为一款以中文编程为特色的编程环境,以其易学易用的特点深受广大编程初学者和爱好者喜爱。本文将深入探讨易语言源码在实现文本数组排序方面的技术细节,以及如何通过提供的...

    数组排序类库.zip

    在IT开发领域,数组排序是一项基础且至关重要的任务,尤其在处理从数据库中获取的数据时。"数组排序类库.zip" 提供了一个专门用于数组排序的工具,这可以帮助开发者更高效、灵活地对数据进行组织和展示。在这个...

    C# 字符串数组随机排序 简单方法

    C# 字符串数组 随机排序 方法 通过生成随机数,来对换改变任意数组变量值,此方法相对其它类型数组也通用

    17 - 数组排序.rar

    对于数字数组,我们需要提供一个比较函数来确保正确排序: ```javascript let arr = [5, 2, 9, 1, 5, 6]; arr.sort((a, b) =&gt; a - b); // 升序排序,返回[1, 2, 5, 5, 6, 9] arr.sort((a, b) =&gt; b - a); // 降序排序...

    数组排序和计算练习.zip_trickyua_数组排序和计算练习

    在编程领域,数组排序和计算是基础且重要的概念,尤其对于初学者来说是掌握编程技能的关键环节。在给定的“数组排序和计算练习”中,我们主要涉及到以下几个知识点: 1. **数组(Array)**:数组是编程中最基本的...

Global site tag (gtag.js) - Google Analytics