从JavaScript二维数组排序说开去(1)

简介: 从JavaScript二维数组排序说开去(1)

JavaScript里面,数组是array,有一个方法sort,使用时需要定义判断函数,写成:

array1.sort(function(a,b){ return a-b; });


简单例子:

var a= [1,3,2];
console.log(a.sort(function(a,b){ return a-b; }));

输出

Array(3) [ 1, 2, 3 ]

那么下面对二维数组排序。如果我想对二维数组的第2列进行排序,怎么办?


首先得确保这个数组每一个元素都有第2列,就是每一个元素都应该是一个数组,并且至少有2个元素。在保证这个前提的基础上,我们就好写了:


array1.sort(function(a,b){
            return a[1]-b[1];
        });

将第2列的相减结果返回。那么,这里如果a[1]-b[1]是小于零的话,就不交换两个数的位置。


var da= [[1,4],[2,3],[1,3],[4,1],[5,7],[4,2]];
da;
    0: (2) [1, 4]
    1: (2) [2, 3]
    2: (2) [1, 3]
    3: (2) [4, 1]
    4: (2) [5, 7]
    5: (2) [4, 2]
    length: 6
    __proto__: Array(0)
da.sort(function(a,b){
            return a[1]-b[1];
        });
    0: (2) [4, 1]
    1: (2) [4, 2]
    2: (2) [2, 3]
    3: (2) [1, 3]
    4: (2) [1, 4]
    5: (2) [5, 7]

此时,da本身也变成了排序后的顺序。

da;

0: (2) [4, 1]
    1: (2) [4, 2]
    2: (2) [2, 3]
    3: (2) [1, 3]
    4: (2) [1, 4]
    5: (2) [5, 7]
    length: 6
    __proto__: Array(0)



目录
相关文章
|
11天前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
11天前
|
JavaScript 前端开发
JavaScript从二维数组抽取若干元素组成新二维数组
JavaScript从二维数组抽取若干元素组成新二维数组
|
11天前
|
JavaScript 前端开发
用Javascript对二维数组DIY按汉语拼音的排序方法
用Javascript对二维数组DIY按汉语拼音的排序方法
|
13天前
|
JavaScript 前端开发
用JavaScript编程定义二维数组并初始化,然后输出元素值
用JavaScript编程定义二维数组并初始化,然后输出元素值
|
2月前
|
JavaScript
js实现模糊搜索和排序
js实现模糊搜索和排序
10 0
|
3月前
|
JavaScript
JS 【详解】双指针排序 -- 数组合并后递增排序
JS 【详解】双指针排序 -- 数组合并后递增排序
23 0
|
3月前
|
前端开发 JavaScript
前端 JS 经典:最近距离排序
前端 JS 经典:最近距离排序
18 0
|
3月前
|
JavaScript 搜索推荐
js 混合排序(同时存在数字、字母、汉字等)
js 混合排序(同时存在数字、字母、汉字等)
160 0
|
3月前
|
JavaScript
js 排序—— sort() 对普通数组、对象数组(单属性/多属性)排序
js 排序—— sort() 对普通数组、对象数组(单属性/多属性)排序
25 0
|
前端开发 算法 JavaScript
JavaScript 基础排序的实现(二)
继上一篇O(n^2)的排序算法后,这一篇主要记录O(n*logn)的排序算法 1.快排(快速排序)   这一算法的核心思想为,先随机选一个数作为标兵或者说是标记(这个数一般来说选择该无序数组的中间那个元素;此处笔者选取第一个实现算法,当选取完毕后以此标兵为参照将比这个数大的放到他的右边,比他小的放到左边.
1124 0