`
war_martin
  • 浏览: 114972 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js二维数组排序

阅读更多

返回一个元素已经进行了排序的   Array   对象。  
   
  arrayobj.sort(sortfunction)    
  参数  
  arrayObj    
  必选项。任意   Array   对象。    
  sortFunction    
  可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照   ASCII   字符顺序进行升序排列。    
  说明  
  sort   方法将   Array   对象进行适当的排序;在执行过程中并不会创建新的   Array   对象。  
   
  如果为   sortfunction   参数提供了一个函数,那么该函数必须返回下列值之一:    
   
  负值,如果所传递的第一个参数比第二个参数小。    
  零,如果两个参数相等。    
  正值,如果第一个参数比第二个参数大。    
  示例  
  下面这个例子说明了   sort   方法的用法:    
   
  function   SortDemo(){  
        var   a,   l;                                               //   声明变量。  
        a   =   new   Array("X"   ,"y"   ,"d",   "Z",   "v","m","r");  
        l   =   a.sort();                                       //   排序数组。  
        return(l);                                             //   返回排序的数组。  
  }  

<BODY>   
  <div   id=div1></div><BR>   
  <button   onclick=mysort(0)>sortByCol-1</button>   
  <button   onclick=mysort(1)>sortByCol-2</button>   
  <button   onclick=mysort(2)>sortByCol-3</button>   
  <button   onclick=mysort(3)>sortByCol-4</button>   
  <SCRIPT   LANGUAGE="JavaScript">   
  <!--   
  var   ar=[[75,86,95,64],[66,88,77,99],[86,45,76,85],[94,65,86,70]]   
  div1.innerHTML   =   ar.join("<br>")   
    
  var   col=0;   
  function   cmp(a,b){   
  return   a[col]-b[col];   
  }   
  function   mysort(i){   
  col   =   i;   
  ar   =   ar.sort(cmp);   
  div1.innerHTML   =   ar.join("<br>")   
  }   
  //-->   
  </SCRIPT>   
  </BODY>   
字符:
字符的时候sortFunction中的项目不能像数字一样直接相减,需要调用
str1.localeCompare( str2 )方法来作比较,从而满足返回值。以下是多维数组的第1,2列作排序的情况。
function sortFunction(array) ...{
return array.sort( function(x, y) ...{
 return (x[0]==y[0])?(x[1].localeCompare(y[1])):(x[0].localeCompare(y[0]))
 });
 }
 因此arrayObject.sort( sortFunction )的排序功能还是很强大的,终于能够实现了SQL语句中的ORDER BY 一样的功能。

 

分享到:
评论
1 楼 fireinjava 2011-02-18  
简捷实用~ 拿走咯

相关推荐

    将二维数组进行线性插值

    在本场景中,我们处理的是一个二维数组,这种数据结构通常用来存储矩阵或图像数据。以下是关于二维数组和线性插值的详细知识: 二维数组在计算机科学中,是一个多维数据结构,它由一串连续的内存位置组成,这些位置...

    js二维数组排序的简单示例代码

    本示例主要讲解如何对JavaScript的二维数组进行排序。首先,我们先了解二维数组的基本概念。二维数组是由多个一维数组组成的数组,每个一维数组又包含若干元素,整体呈现出表格形式。 在给出的示例代码中,`getCard...

    js sort 二维数组排序的用法小结

    在处理二维数组排序时,通常需要根据二维数组中子数组的某个特定元素来决定排序规则。比如,如果我们有一个二维数组,每个子数组包含多个元素,我们可能希望根据第一个元素的数值大小来对整个数组进行排序。为了实现...

    关于Js的二维数组定义和方法

    #### 二维数组排序 JavaScript中的`Array.prototype.sort()`方法可以用来对数组进行排序,但是默认情况下只能对一维数组进行排序。如果想要对二维数组进行排序,则需要提供一个自定义的排序函数。 **排序函数的...

    json_ksort 二维数组键值排序源码

    标题中的"json_ksort 二维数组键值排序源码"指的是一种自定义的方法,可能是为了对包含JSON数据的二维数组进行键值排序而编写的一段代码。这种方法可能通过递归或者其他策略来处理嵌套的键值对,确保整个结构被正确...

    js代码-二维数组中的查找

    在JavaScript编程中,二维数组是一种常见的数据结构,用于存储具有多层关系的数据。二维数组实际上是一组数组,每个数组元素可以是任何类型,包括其他数组。这种数据结构在处理表格数据、矩阵运算或棋盘游戏等场景中...

    易语言-json_ksort 二维数组键值排序

    本知识点主要聚焦于易语言中的一个特定功能——json_ksort,它涉及到二维数组的键值排序。下面将详细阐述易语言处理JSON数据以及ksort函数的工作原理和应用。 首先,JSON(JavaScript Object Notation)是一种轻量...

    JS实现二维数组元素的排列组合运算简单示例

    JS实现二维数组元素的排列组合运算是一个涉及JavaScript编程基础与算法技巧的主题。在编程中,二维数组是一种数据结构,可以理解为数组的数组,其中每个数组元素又是一个数组。排列组合运算是算法领域的一个重要概念...

    js代码-算法:二维数组随机打乱(扫雷)

    以上就是关于“js代码-算法:二维数组随机打乱(扫雷)”的相关知识点,包括二维数组的概念、Fisher-Yates洗牌算法的实现,以及在扫雷游戏中的应用。这个知识点不仅有助于理解数据结构和算法,还能帮助开发者提升...

    javascript从入门到跑路—–小文的js学习笔记(10)——数组(一维数组、二维数组以及三维数组)和冒泡排序

    一、一维数组 两种创建数组的语法: 1、构造函数的形式: new Array()  2、创建字面量的形式: [ ] 那么下面我们来分别举个栗子: 第一种创建数组的方法举例 栗2: 用创建字面量的形式: 补充: 获

    snail:一种将二维数组的元素按顺时针螺旋形排列成新的一维数组的算法

    创建任何二维数组,调用snail函数,并将其传递给二维数组。 输入 let array = [ [ 1 , 2 , 3 , 1 ] , [ 4 , 5 , 6 , 4 ] , [ 7 , 8 , 9 , 7 ] , [ 7 , 8 , 9 , 7 ] ] console . log ( snail ( array ) ) ; 输出 [ 1 ...

    关于JS中二维数组的声明方法

    最后,声明二维数组只是开始,实际中我们还会涉及到如何操作二维数组,例如添加、删除元素,如何遍历二维数组中的所有元素,如何对二维数组进行排序等高级操作,这些都需要在学习过程中不断实践和掌握。

    js代码-合并二维有序数组成一维有序数组

    二维数组可以看作是由多个一维数组组成的数组,每个一维数组内部元素都是有序的。例如,[[1, 3, 5], [7, 9, 11]]就是一个二维有序数组,每一行(一维数组)内的元素都是从小到大排列的。 合并二维有序数组成一维...

    javascript 数组排序函数

    多维数组即数组中每个元素本身也是一个数组,例如二维数组就是每个元素是一个一维数组。要按照多个键值进行排序,不能简单地使用一个比较函数,而是需要更复杂的逻辑。比较函数可以嵌套使用,即在比较函数内部再调用...

    JavaScript中数组常见操作技巧

    `push()` 方法除了可以添加新元素到数组末尾之外,还可以用来动态地创建二维数组。 ```javascript // 动态创建二维数组 var sourceList = document.querySelector('#source'); var lis = sourceList....

    通过V8源码看一个关于JS数组排序的诡异问题

    JavaScript中的数组排序问题,尤其是涉及复杂数据类型时,可能会出现意想不到的结果。在V8引擎中,数组排序的实现是基于特定的策略,这可能导致在某些情况下出现非直观的行为。这里我们将深入探讨这个问题,并通过V8...

Global site tag (gtag.js) - Google Analytics