JavaScript数值数组排序示例分享
但是,我们在使用中就会发现问题,这里的数组排序方法并不是按照我们想像中的数字大小来排序的,而是按照字符串测试结果改变原先的数据。这并不是我们想要的。
那么如何才可以得到我们想要的按照我们思维中的数字大小来排序呢。我们可以自己编写一个函数来实现。
var values = [0, 1, 5, 10, 15];
// asc升序函数
function compareAsc(value1, value2) {
if (value1 > value2) {
return 1;
} else if (value1 < value2) {
return -1;
} else {
return 0;
}
}
// desc降序函数
function compareDesc(value1, value2) {
if (value1 > value2) {
return -1;
} else if (value1 < value2) {
return 1;
} else {
return 0;
}
}
values.sort(compareAsc);
console.log(values); // [0, 1, 5, 10, 15]
values.sort(compareDesc);
console.log(values); // [15, 10, 5, 1, 0]
相关推荐
-
JavaScript自定义数组排序方法
本文实例讲述了JavaScript自定义数组排序方法.分享给大家供大家参考.具体分析如下: Array中有自带的排序功能,这个使用起来比较方便,我们有一点必须清楚,就是排序的依据,如果sort不传入参数的话,那就是按照字符编码(Unicode编码)的顺序排序. var a=["3","2","1"]; console.log(a[0].charCodeAt(0)); // 51 console.log(a[1].charCodeAt(0)); /
-
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
本文实例总结了JS数组排序技巧.分享给大家供大家参考,具体如下: ① 冒泡排序 bubbleSort:function(array){ var i = 0, len = array.length, j, d; for(; i<len; i++){ for(j=0; j<len; j++){ if(array[i] < array[j]){ d = array[j]; array[j] = array[i]; array[i] = d; } } } return array; } ② js
-
js中数组排序sort方法的原理分析
本文实例分析了js中数组排序sort方法的原理.分享给大家供大家参考.具体分析如下: 最近在百度的项目中要用到对数组进行排序,当然一开始自然想到了数组的sort方法,这方法应用非常简单,大致如下: 复制代码 代码如下: window.onload=function(){ var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98]; var arr2=["George","John","
-
javascript 数组排序函数sort和reverse使用介绍
首先我们先说一下reverse方法. reverse 方法将一个 Array 对象中的元素位置进行反转.在执行过程中,这个方法并不会创建一个新的 Array 对象. 例如: 复制代码 代码如下: var array1 = ['a','cc','bb','hello',false,0,3]; var array2 = [3,5,2,1,7,9,10,13]; array1.reverse(); array2.reverse(); alert(array1); alert(array2); 如果数组
-
javascript数组排序汇总
javascript数组排序汇总 //排序算法 window.onload = function(){ var array = [0,1,2,44,4, 324,5,65,6,6, 34,4,5,6,2, 43,5,6,62,43, 5,1,4,51,56, 76,7,7,2,1, 45,4,6,7,8]; //var array = [4,2,5,1,0,3]; console.log('原始数组'); console.log(array); array = sorting.shellSort
-
Javascript 数组排序详解
如果你接触javascript有一段时间了,你肯定知道数组排序函数sort,sort是array原型中的一个方法,即array.prototype.sort(),sort(compareFunction),其中compareFunction是一个比较函数,下面我们看看来自Mozilla MDN 的一段描述: If compareFunction is not supplied, elements are sorted by converting them to strings and compa
-
javascript 数组排序函数
arrayobj.sort(sortfunction); 参数:sortFunction 可选项.是用来确定元素顺序的函数的名称.如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列. sort 方法将 Array 对象进行适当的排序:在执行过程中并不会创建新的 Array 对象. 如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: 负值,如果所传递的第一个参数比第二个参数小. 零,如果两个参数相等. 正值,如果第一个参数比第二个参数大. 以上的
-
js sort 二维数组排序的用法小结
最近在搞js 排序的问题,因为数据库排序太耗资源,如果能转移到客户端去排序,能大大D减少服务器内存消耗.客户端的话,除了js,就是as了,可惜我as学得太烂,所以只能选择js来研究研究了...经过我的测试,js内置方法sort的效率非常高 我们知道在js中默认提供了sort函数,但是这个函数默认是按照数组内容的ascii码升序进行排列的,如果我们要对二维数组排序要如何做呢?在php中是有multi_sort函数可供调用的,但是在js中似乎没有这种函数,但是没关系 ,因为js的sort函数其实也提
-
Js数组排序函数sort()介绍
JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. sort() 方法用于对数组的元素进行排序.语法如下: arrayObject.sort(sortby) 返回值为对数组的引用.请注意,数组在原数组上进行排序,不生成副本. 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较. 如果想按照其他标准进行排序,
-
js二维数组排序的简单示例代码
如下所示: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title> New Document </title> <meta name="Generator" cont
随机推荐
- 深入解析Swift代理模式
- SQL 注入式攻击的终极防范
- for语句中的几种分隔符形式小结
- Java设计模式之外观模式(Facade模式)介绍
- 详解PHP函数 strip_tags 处理字符串缺陷bug
- PHP调用VC编写的COM组件实例
- php检查函数必传参数是否存在的实例详解
- JS Map 和 List 的简单实现代码
- Whatever:hover 无需javascript让IE支持丰富伪类
- JavaScript模拟下拉菜单代码
- JSP运行原理和九大隐式对象说明
- javascript Xml增删改查(IE下)操作实现代码
- Nginx+Windows负载均衡配置方法
- 原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
- JavaScript DOM 学习第二章 编辑文本
- nginx修改上传文件大小限制的方法
- C#使用Socket发送和接收TCP数据实例
- Java 是如何利用接口避免函数回调的方法
- SpringBoot Application事件监听的实现方案
- 详解Vue.js中引入图片路径的几种方式