从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)



目录
相关文章
|
24天前
|
前端开发 JavaScript 算法
使用 JavaScript 数组方法实现排序与去重
【10月更文挑战第21天】通过灵活运用 `sort()` 方法和 `filter()` 方法,我们可以方便地实现数组的排序和去重。同时,深入理解排序和去重的原理,以及根据实际需求进行适当的优化,能够更好地应对不同的情况。可以通过实际的项目实践来进一步掌握这些技巧,并探索更多的应用可能性。
97 59
|
1月前
|
分布式计算 JavaScript 前端开发
JavaScript:轻松创建二维数组的多种方法
本文探讨了如何使用 JavaScript 生成二维数组的多种方法,揭示了这些方法在编程中的灵活应用。文章首先通过介绍如何创建一维数组,为理解二维数组的生成奠定基础。接着,分析了几种常见的生成二维数组的方法,包括使用嵌套循环、Array.from()、Array.fill() 以及 展开运算符 和 map() 等技巧。每种方法都有其优缺点,开发者可以根据场景选择最合适的方案。
48 0
|
1月前
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
18 0
|
2月前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
2月前
|
JavaScript 前端开发
JavaScript从二维数组抽取若干元素组成新二维数组
JavaScript从二维数组抽取若干元素组成新二维数组
|
2月前
|
JavaScript 前端开发
用Javascript对二维数组DIY按汉语拼音的排序方法
用Javascript对二维数组DIY按汉语拼音的排序方法
|
2月前
|
JavaScript 前端开发
用JavaScript编程定义二维数组并初始化,然后输出元素值
用JavaScript编程定义二维数组并初始化,然后输出元素值
|
3月前
|
JavaScript
js实现模糊搜索和排序
js实现模糊搜索和排序
19 0
|
4月前
|
JavaScript
JS 【详解】双指针排序 -- 数组合并后递增排序
JS 【详解】双指针排序 -- 数组合并后递增排序
29 0
|
前端开发 算法 JavaScript
JavaScript 基础排序的实现(二)
继上一篇O(n^2)的排序算法后,这一篇主要记录O(n*logn)的排序算法 1.快排(快速排序)   这一算法的核心思想为,先随机选一个数作为标兵或者说是标记(这个数一般来说选择该无序数组的中间那个元素;此处笔者选取第一个实现算法,当选取完毕后以此标兵为参照将比这个数大的放到他的右边,比他小的放到左边.
1127 0