javascript数组排序函数

  • 代码:
    /*
    @desc:表格排序类
    @param data 待排序数组
    */
    function tablesort(data){
    this.data = data
    this.sortby = true
    /*
     @desc:主方法,排序
     @param item 排序字段
     @return ret 排序后的数据
     */
    this.sort = function(item){
        if(this.sortby){
            var ret = this.data.sort(function(a,b){
                return a[item]>b[item]
            })
        }else{
            var ret = this.data.sort(function(a,b){
                return a[item]<b[item]
            })
        }
        this.sortby = !this.sortby
        return ret
    }
    }
  • 测试:
    var data = new Array(
     {
         id:1,
         title:‘title1‘,
         content:‘content1‘
     },
     {
         id:3,
         title:‘title2‘,
         content:‘content3‘
     },
     {
         id:2,
         title:‘title3‘,
         content:‘content2‘
     }
    )
    var tablesort = new tablesort(data)
    var ret = tablesort.sort(‘id‘)
    console.log(ret)
    var ret = tablesort.sort(‘title‘)
    console.log(ret)
    var ret = tablesort.sort(‘id‘)
    console.log(ret)
  • 输出:
    [ { id: 1, title: ‘title1‘, content: ‘content1‘ },
    { id: 2, title: ‘title3‘, content: ‘content2‘ },
    { id: 3, title: ‘title2‘, content: ‘content3‘ } ]
    [ { id: 2, title: ‘title3‘, content: ‘content2‘ },
    { id: 3, title: ‘title2‘, content: ‘content3‘ },
    { id: 1, title: ‘title1‘, content: ‘content1‘ } ]
    [ { id: 1, title: ‘title1‘, content: ‘content1‘ },
    { id: 2, title: ‘title3‘, content: ‘content2‘ },
    { id: 3, title: ‘title2‘, content: ‘content3‘ } ]
  • 原文地址:http://blog.51cto.com/12173069/2127842

    时间: 2024-08-29 16:57:13

    javascript数组排序函数的相关文章

    JavaScript之 ------ 函数(一般函数、动态函数、匿名函数)

    JavaScript之 ------ 函数(一般函数.动态函数.匿名函数) 函数 一.一般函数 1.格式: function 函数名(形式参数...) { 执行语句: return 返回值: } 函数是多条执行语句的封装体,只有被调用才会被运行. 注意:调用有参数的函数,但没有给其传值,函数一样可以运行,或者调用没有参数的函数,给其传值,该函数也一样运行. 说的简单点:只要写了函数名后面跟了一对小括号,该函数就会运行. 2.函数虽然定义时是声明成两个参数,但调用时却是可以传入任意个 例: ? 1

    Javascript常用方法函数收集(二)

    Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch); } 32.判断是否打开视窗 function isViewportOpen() { return !!document.getElementById('wixMobileV

    JavaScript Function 函数深入总结

    整理了JavaScript中函数Function的各种,感觉函数就是一大对象啊,各种知识点都能牵扯进来,不单单是 Function 这个本身原生的引用类型的各种用法,还包含执行环境,作用域,闭包,上下文,私有变量等知识点的深入理解. 函数中的return return 语句可以不带有任何返回值,在这种情况下( return; 或函数中不含 return 语句时),函数在停止执行后将返回 undefiend 值.这种用法一般在需要提前停止函数执行而又不需要返回值的情况下. return false

    javascript中函数作用域之”提升“

    javascript中函数作用域之变量提升 当我们在函数内部用关键字var声明一个变量的时候,此变量的作用域限制在当前函数. 提升:在一个作用域内部,不管一个变量用var声明的位置在哪里,这个变量属于当前整个作用域,并且在当前作用域的任何位置都可以访问它.在javascript中,这种行为/现象称之为"提升",即一个变量在一个作用域的任何位置用var声明,javascript引擎都会把这些用var声明的变量"移动"到当前作用域的开始处. 谈到javascript这种

    JavaScript 常用函数总结

    javascript函数:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数 .cookie函数 1.常规函数 javascript常规函数包括以下9个函数:  (1)alert函数:显示一个警告对话框,包括一个OK按钮.  (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮.  (3)escape函数:将字符转换成Unicode码.  (4)eval函数:计算表达式的结果.  (5)isNaN函数:测试是(true)否(false)不是一个数字. 

    JavaScript调用函数的方法

    摘要:这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助! 一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性,当我们选择面对它的时候,这将成为我们前进的阻碍.  作为初学者,我们来测试五种函数调用的方法,从表面来看我们会认为那些函数与C#中函数的作用非常相似,但是我们一会儿可以看到

    javascript篇-----函数作用域,函数作用域链和声明提前

    在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的(也就是我们不能在代码段外直接访问代码段内声明的变量),我们称之为块级作用域,然而,不同于这类型的编程语言,javascript是没有块级作用域.取而代之的,javascript使用的是块级作用域:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. 在如下的所示的代码中,在不同位置定义了变量 i . j 和 k ,它们都在同一个作用域内——这三个变量在函数体内均是有定义

    和demopu一起学习javascript ( concat函数 )

    和demopu一起学习javascript (  concat函数 ) 定义和用法 concat方法可以把两个或者多个数组连接起来,组成一个新的数组. 语法 concat(array1,array2,......,arrayN) 参数 描述 array1 必需.该参数可以是具体的值,也可以是数组对象.可以是任意多个. 例子 1 var arr = ["George","John","Thomas"]; var arr2 = ["Jame

    JavaScript encodeURI() 函数

    encodeURI() 函数可把字符串作为 URI 进行编码. -------------------------------------------------------------------------------------------- 输入: <script type="text/javascript">document.write(encodeURI("http://www.w3school.com.cn")+ "<br