数组的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
分享到:
相关推荐
本话题聚焦于“易语言自定义数据类型数组排序”,将深入探讨如何在易语言中创建、操作自定义数据类型数组,并实现各种排序算法,如根据产地、类别和售价等属性进行排序。 自定义数据类型在易语言中允许我们定义包含...
为普通数组和对象数组排序,对象数组排序时,可指定排序所依据的对象属性,汉字将以汉语拼音为序。
不要看分数高,这个程序绝对可以对得起大家的分数。这个楼主的研究哈!反正下了评价后分数可以返还的................
易语言文本数组随机打乱排序源码,文本数组随机打乱排序,交换数据_ASM变量交变量,交换数据_ASM变量数组交变量数组,加,减,依文本类型排序,文本冒泡排序,按文本长度排序,每字分割_到数组,取文本第一个字,反转数组,打乱...
易语言利用数组进行数值排序,简单粗暴
### Flex 数组排序知识点 #### 一、简介 在Flex开发中,经常需要对数组进行排序,特别是当处理复杂的二维数组或对象数组时。本文将详细介绍如何使用Flex中的`sortOn`方法对数组进行排序,并给出具体的代码示例。 ...
在学习JavaScript中,做的笔记,关于数组排序的,具体是按字母升序排序,按数字升序或降序排序。如有需要,请自行下载。
最后,将排序后的数字数组和字符串数组合并成一个最终的数组。可以使用 System.arraycopy() 方法将两个数组合并成一个数组。 代码实现 以下是完整的代码实现: ```java public class sortdemon2 { public static ...
在iOS开发中,数据模型数组的排序是一个常见的需求,特别是在显示列表或表格视图时。`sortedArrayUsingComparator`是Objective-C中`NSArray`类的一个方法,用于对数组中的对象进行自定义排序。这个方法非常强大,...
例如,JavaScript的`Array.prototype.sort()`方法可以方便地对数组进行排序,但默认的排序规则可能不是完全数字升序,因此在排序数字数组时需要注意。 总的来说,这个任务涉及到了字符串处理、数组操作和排序算法等...
本压缩包文件"算法-数组排序 按数组内数字大小排序 取得最大值或最小值.rar"包含的内容很可能是关于如何实现数组排序以及如何高效地获取数组中的最大值和最小值的详细讲解。 一、排序算法概述 排序算法是用于重新...
在IT行业中,数组排序是一个基础且重要的概念,广泛应用于数据处理和算法实现。本文将深入探讨两种常见的排序算法——选择排序和冒泡排序,并结合给定的文件信息进行解析。 首先,选择排序是一种简单直观的排序算法...
另外,易语言提供了内置的数组排序函数,如`数组排序`,可以直接对字节型数组进行升序或降序排序,简化代码编写。 总结,易语言字节型数组排序涉及到数据结构、排序算法以及易语言的语法特性。掌握这些知识,能够...
在编程领域,数组排序是基础且重要的操作,尤其在数据处理和分析中。这个项目的目标是创建一个一维数组排序程序,它具有灵活性,能够处理不同来源的数据,并提供三种经典的排序算法供用户选择:冒泡排序、选择排序和...
在VB6.0编程环境中,数组排序是一项常见的任务,它涉及到对一组数值或对象进行排列,使其按照特定的顺序(如升序或降序)排列。在这个特定的案例中,我们要实现的功能是去除一个数组中非升序的元素,并将剩下的升序...
《易语言源码文本数组排序》 易语言,作为一款以中文编程为特色的编程环境,以其易学易用的特点深受广大编程初学者和爱好者喜爱。本文将深入探讨易语言源码在实现文本数组排序方面的技术细节,以及如何通过提供的...
在IT开发领域,数组排序是一项基础且至关重要的任务,尤其在处理从数据库中获取的数据时。"数组排序类库.zip" 提供了一个专门用于数组排序的工具,这可以帮助开发者更高效、灵活地对数据进行组织和展示。在这个...
C# 字符串数组 随机排序 方法 通过生成随机数,来对换改变任意数组变量值,此方法相对其它类型数组也通用
对于数字数组,我们需要提供一个比较函数来确保正确排序: ```javascript let arr = [5, 2, 9, 1, 5, 6]; arr.sort((a, b) => a - b); // 升序排序,返回[1, 2, 5, 5, 6, 9] arr.sort((a, b) => b - a); // 降序排序...
在编程领域,数组排序和计算是基础且重要的概念,尤其对于初学者来说是掌握编程技能的关键环节。在给定的“数组排序和计算练习”中,我们主要涉及到以下几个知识点: 1. **数组(Array)**:数组是编程中最基本的...