JavaScript数值数组排序示例分享_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]

时间: 2025-01-21 13:01:07

JavaScript数值数组排序示例分享_javascript技巧的相关文章

JavaScript原型链示例分享_javascript技巧

复制代码 代码如下: <mce:script type="text/javascript"><!--/*   每个对象实例都有个属性成员用于指向到它的instanceof 对象(暂称为父对象)的原型(prototype)   我们把这种层层指向父原型的关系称为[原型链 prototype chian]   原型也具有父原型,因为它往往也是一个对象实例,除非我们人为地去改变它   在JavaScript中,"一切都是对象,函数是第一型."   Fun

JavaScript作用域链示例分享_javascript技巧

JavaScript只有函数作用域:每个函数都有个作用域链直达window对象. 变量的查找由内而外层层查找,找到即止. 同时不仅可以查找使用,甚至可以改变外部变量. 复制代码 代码如下: var color = "blue";function changeColor() {    var anotherColor = "red";    function swapColors() {        var tempColor = anotherColor;    

JavaScript实现图片滑动切换的代码示例分享_javascript技巧

假设我们这里有1到5五张bmp图片,那么控制图片切换显示的核心代码可以为: <script> var i=1; var img = new Array(); img[0] = "1.bmp"; img[1] = "2.bmp"; img[2] = "3.bmp"; img[3] = "4.bmp"; img[4] = "5.bmp"; function playImg(){ i=i+1; var

javascript 事件处理示例分享_javascript技巧

废话少说,直接奉上示例代码: 复制代码 代码如下: <script type="text/javascript">     function EventUtil() {         var _self = this;         ///添加事件         var addEvent = (function () {             if (document.addEventListener) {                 return functi

JavaScript阻止事件冒泡示例分享_javascript技巧

之前遇到事件冒泡的问题,也去网上搜索了一番,结果大部分都是一样的代码,贴来用时也不太顺利.涉及到FF时,可以用 e.stopPropagation(); ,不知怎地我没用成功.不过我发现FF支持e.cancelBubble = true;的写法,经测试可行.就把代码贴在这里吧,省得以后到处找.IE以前版本的兼容性还没测试,用到时再完善吧.   复制代码 代码如下: //取消事件冒泡 function stopBubble(e) {     var evt = (e) ? e : window.e

yepnope.js使用详解及示例分享_javascript技巧

yepnope.js的一个典型实例: yepnope({ test : Modernizr.geolocation, yep : 'normal.js', nope : ['polyfill.js', 'wrapper.js'] }); 此实例表示如果Modernizr.geolocation为真的时候加载normal.js,为假则加载polyfill.js及wrapper.js. yepnope完整语法: yepnope([{ test : /* boolean(ish) 输入条件 */, y

固定背景实现的背景滚动特效示例分享_javascript技巧

分享一个来自corpse的固定背景滚动特效,使用background-attachment: fixed和导航菜单,页面会非常平滑的滚动. HTML 复制代码 代码如下: <div id="cbp-fbscroller" class="cbp-fbscroller"> <nav> <a href="#fbsection1" class="cbp-fbcurrent">Section 1<

javascript原生ajax写法分享_javascript技巧

ajax:一种请求数据的方式,不需要刷新整个页面: ajax的技术核心是 XMLHttpRequest 对象: ajax 请求过程:创建 XMLHttpRequest 对象.连接服务器.发送请求.接收响应数据: /** * 得到ajax对象 */ function getajaxHttp() { var xmlHttp; try { //chrome, Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e)

JavaScript数据类型学习笔记分享_javascript技巧

本文实例为大家讲解JavaScript数据类型的相关资料,供大家参考,具体内容如下 1.引用类型 引用类型的值是引用类型的一个实例,引用类型是一种数据结构,用于将数据和功能组织在一起,也常被叫做类. 对象时某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数来创建的,构造函数本身就是函数,是出于创建新对象的目的而定义的.  var person = new Object(); 2.Object类型 (1)Object类型对于应用程序中存储和传输数据来说,是非常理想的选择. (2)Ob