一、按数值排序

var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]];

arr.sort(function(x, y){

return x[0] – y[0];

});

其实是数组依次将数组元素复制给x,y,比如首先将arr[0]赋给x,arr[1]赋给y,然后用x[0] – y[0],根据返回的值,

如果返回的是大于0的数,那么就把数组中x放到y的后面,

如果返回的是0则不变,

如果小于0则将x放到y的前面,

然后第一个排序好之后在进行下面两个的排序,直到整个数组排序完成。

这是默认升序的比较函数,如果要降序排列则只需修改比较方式,改为 return y[0] – x[0] 即可,

这里我们x[0]表示是按第一列进行排序,我们这里也可以按其他列进行排序。这里的排序默认就会修改arr的数组结构,所以排序完arr就是按第一列升序的数组了。

二、按字符串排序

var arr = [['中','国'], ['啊','的'], ['哦','的']];

arr.sort(function(x, y){

return x[0].localeCompare(y[0]);

});

localeCompare作用:用本地特定的顺序来比较两个字符串。

localeCompare方法的使用规则是stringObject.localeCompare(target),

如果

stringObject 小于 target,则 localeCompare() 返回小于 0 的数,将x放到y的前面,

如果 stringObject 大于

target,则该方法返回大于 0 的数,就把数组中x放到y的后面,。

如果两个字符串相等,或根据本地排序规则没有区别,该方法返回

0,则不变,

其比较使用的是本地的规则,本地规则意思就是使用操作系统底层对这些本地字符排序的规则进行排序,默认情况下比如使用大于号这样的比较只是纯粹比较两个字符的unicode的数大小,会与很多语言不符。

结果就会按第一列中文字的拼音排序,如果含有英文的话,默认是将英文放在前面,如果是纯英文的话,会按字母顺序来,大写排在小写的后面,这样就可以实现字符串的排序了,包括中文和中英混排。至于要降序排列的话,方法与上面相同,改成return y[0].localeCompare(x[0]); 即可。

JS二维数组排序组合

需求是这样的:http://q.cnblogs.com/q/29093/ 这里简述一下: 现在有一个不确定长度的数组.比如:var temp=[["Fu","Hai&qu ...

JS 二维数组排序

JS:二维数组排序和获取子级元素

JS:二维数组排序和获取子级元素 1. 二维数组排序 1.按数值排序 var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]]; 如果我们要按每个子数组的第一列来排序要如 ...

PHP array_multisort() 函数详解 及 二维数组排序(模拟数据表记录按字段排序)

一.先看最简单的情况. 有两个数组: $arr1 = array(1, 9, 5); $arr2 = array(6, 2, 4); array_multisort($arr1, $arr2); pr ...

一个不错的PHP二维数组排序函数简单易用存用

一个不错的PHP二维数组排序函数简单易用存用 传入数组,传入排序的键,传入排序顺序 public function array_sort($arr,$keys,$type='asc') { $keys ...

php实现二维数组排序array_multisort($ages, SORT_DESC, $home)函数

1.sql查询排序参数是order by,那么php进行排序呢 可以参考array_multisrot函数 //php进行二维数组排序 -xzz1009 foreach($home as $home) ...

PHP二维数组排序(list_order)

/** * 对二维数组进行排序 * 模拟 数据表记录按字段排序 * * * @list_order($list, $get['orderKey'], $get['orderT ...

php基础篇-二维数组排序 array_multisort

原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...

PHP二维数组排序(感谢滔哥)

滔哥原创 /* _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\|| ...

随机推荐

Node.js开发利器

开发工具 WebStorm,毫无疑问非他莫属,跨平台,强大的代码提示,支持Nodejs调试,此外还支持vi编辑模式,这点我很喜欢. 做些小型项目用Sublime Text. Browserify:将你 ...

LR java Vuser 相关依赖JAR包,配置文件处置方法

JAR包,配置文件依赖有两种处理方法 1.放到工程文件夹下(lr脚本目录),不支持负载机调用 2.F4  classpath设置加载jar包和配置文件的整个文件夹,麻烦些,但支持负载机调用(与http ...

appStore上传苹果应用程序软件发布流程(之前都是同事发,复制一份备用)

首先确定帐号是否能发布, https://developer.apple.com/account,如果你打开Provisioning Portal,然后点击DisTribution看到的是下图中那样, ...

cryptopp开源库的使用(一):md5加密

项目总是各种新需求,最近遇到需要对字符串进行md5加密,确保传输字符串的有效性. 考虑到跨平台性和通用性,选择了cryptopp开源库,这里主要是用静态库调用. 1.引入头文件和lib库 #inclu ...

C# 汉子增加UTF-8头

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Conv ...

C#access数据库操作

比较凌乱,有时间在整理吧. Provider=Microsoft.Jet.OLEDB.!" private void GetCon() { string strConnection=&quo ...

数学#扩展欧几里德 POJ 1061&2115&2891

寒假做的题了,先贴那时写的代码. POJ 1061 #include #include typedef long long LL; usin ...

ssh连接原理介绍( 无密码连接登录的原理)

SSH(Secure  Shell)一种在不安全网络上提供安全远程登录及其它安全网络服务的协议.由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x.(SSH 2.x的客户程序是不能 ...

两个序列求前k大和

---恢复内容开始--- 没有题目,没有题意,这是学长提过的一个技巧,给你两个排好序的序列,每次可以各从中取一个,求前k大的和, 一个优先队列,先将a序列中最大的那个和b序列所有元素相加存进队列中,每 ...

How to add the ApplicationPoolIdentity to a SQL Server Login

The ApplicationPoolIdentity is a virtual account in Windows that is dynamically generated when the a ...

c语言sort函数排序二维数组,js 二维数组排序sort()函数相关推荐

  1. php数组第二位,PHP将二位数组按照第二维的某个元素的值进行排序

    //原始数组是这样的,希望能够按照第二维中的run_date升序或者降序进行排序: $arr=array( 0=>array( 'run_date'=>'2017-11-21', 'cou ...

  2. 【C语言进阶深度学习记录】三十 二维数组与二维指针

    文章目录 1 二维指针(指向指针的指针) 2 二维数组 3 二维数组的类型 3.2 如何动态申请二维数组 4 总结 1 二维指针(指向指针的指针) 指针的本质是变量 指针的指针是保存指针变量的地址.如 ...

  3. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

  4. 【C 语言】二级指针作为输入 ( 二维数组 | 二维数组遍历 | 二维数组排序 )

    文章目录 一.二维数组 1.二维数组声明及初始化 2.二维数组遍历 3.二维数组排序 二.完整代码示例 一.二维数组 前几篇博客中 , 介绍的是指针数组 ; 指针数组 的 结构特征 是 , 数组中的每 ...

  5. python定义二维数组_二维数组的定义、初始化和输出,C语言二维数组详解

    本节学习二维数组.二维数组与一维数组相似,但是用法上要比一维数组复杂一点.后面的编程中,二维数组用得很少,因为二维数组的本质就是一维数组,只不过形式上是二维的.能用二维数组解决的问题用一维数组也能解决 ...

  6. c语言多维指针,C语言中多维数组和多维数组指针的应用

    最近开始好好学习编写CFD程序了,由于计算过程中所涉及的网格节点较多(一维最容易,二维就比较麻烦了,三维的还没有尝试自己动手编程呢),每个节点上都有若干个参数,包括速度,压力,温度,密度等,并且这些参 ...

  7. C语言——指针篇(四)多维数组和多维指针(内含数组指针和指针数组笔记)

    前言:笔者本来是打算在上一篇文章中,把多维数组和多维指针与数组的访问方式结合起来一起写掉.但是在写作过程中,发现创作篇幅明显过长,不利于日后按图索骥,所以又重开了一篇,说说自己的感悟,仅供参考 多维数 ...

  8. 什么是二维数组以及二维数组传参

    什么是二维数组 当刚看见二维数组时肯定会对二维数组有一些疑惑二维数组是什么? int arr[4] = { 1,2,3,4 };//这个便是一维数组 以 int 类型为例子当 int 类型的元素集合在 ...

  9. 二维数组及其二维数组的动态内存分配

    本文为大一时所写的文章(2017/4/9),文笔还很生疏,在很多问题上认识不深,算是在学校的微信公众号上的一个编程探究模块上的投稿,本人当时也参与了本模块的维护和管理.补档. 今天我们来聊聊二维数组及 ...

最新文章

  1. unix查找的字符串包含特殊字符_python3从零学习-5.4.7、Unix风格路径名模式扩展glob...
  2. 批处理命令 / rem :: :
  3. 命令行下操作MySQL数据库,各种命令的使用入门示例。(附图)
  4. if else if else语句格式_如何“干掉”if...else
  5. RHEL6 让 root可以登录桌面
  6. Codeforces Round #717 (Div. 2) D. Cut 倍增
  7. mysql 的数据备份_MySQL 数据备份与还原
  8. 网络 网络层 | IP协议、网段划分、公网与私网、路由选择
  9. 编程之美读书笔记1.1——让CPU占用率曲线听你的指挥
  10. 【渝粤教育】国家开放大学2018年秋季 0689-22T老年心理健康 参考试题
  11. 最强大的iptv m3u8 直播源手机检测工具,批量发现问题直播源
  12. 计算机表格斜杠怎么打,【2人回答】Excel表格中如何输入斜杠?-3D溜溜网
  13. ubuntu20.04不是所有者所以不能更改权限
  14. Coursera 申请助学金流程和材料
  15. 要是你还看不懂这篇冒泡排序,麻烦找我要红包
  16. python中扑克牌类设计_创建扑克牌类Python
  17. 【Atheros】Ath9k速率调整算法源码走读
  18. 滴滴研究院副院长叶杰平 | 大规模稀疏和低秩学习
  19. 控制工程/机器人SLAM/机器视觉/避障导航/求职笔记
  20. 【基础知识】PID(比例微分积分)控制

热门文章

  1. netapp存储常用命令
  2. Effective C# 原则48:了解更多的工具和资源(译)
  3. 电脑上mysql数据库无法登录_无法远程登入MySQL数据库的几种解决办法MySQL综合 -电脑资料...
  4. netty发送数据_看完这篇还不清楚Netty的内存管理,那我就哭了
  5. 服务器centos怎么部署_我什么都不会,怎么拥有自己的个人博客呢
  6. java元数据是什么_用存储过程和 JAVA 写报表数据源有什么弊端?
  7. mysql proxy 主从_【MYSQL知识必知必会】MySQL主从复制读写分离(基于mysql-proxy实现)...
  8. 编译安装mysql5.5.39_编译安装MySQL5.5
  9. Java BigDecimal intValue()方法与示例
  10. js 验证护照_护照本地策略第2部分| Node.js