c语言sort函数排序二维数组,js 二维数组排序sort()函数

一、按数值排序

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 ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550771.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c 语言 abs 库函数,absread,abswirte - C 语言库函数手册

absread, abswirte功 能: 绝对磁盘扇区读、写数据用 法: int absread(int drive, intnsects, int sectno, void *buffer);int abswrite(int drive, int nsects, in tsectno,void *buffer);程序例:/* absread example */#include #include #include #include int main(void){int…

每天一个linux命令博客nano,11 个鲜为人知的 Linux 命令(1)

英文:Tecmint,编译:Linux中国linux.cn/article-2258-1.html如有好文章Linux命令行吸引了大多数Linux爱好者。一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务。Linux命令和它们的转换对于Linux用户、Shell脚本程序员和管理员来说…

谷歌发布最新版安卓Android,谷歌发布安卓 9 正式版,代号 Android Pie

爱搞机 8 月 7 日消息,据外媒报道,北京时间今日凌晨,谷歌开始向用户推送安卓 Android Pie 正式版,除了确定新系统的代号为 Pie(派)之外,谷歌还将原本的安卓 9.0 称作 Android 9 Pie,这与此前的官方命名有所…

c语言 1 %3c%3c -253,结构体嵌套 姓名前后怎么输出两次??

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/******************************************************************日期:2013-9-14*题目:结构体的嵌套*难度等级★★★*程序分析:*******************************************************************/#include void main() …

android 标题样式,Android定义各种样式的标题栏:requestWindowFeature()

最近在网上看到一篇介绍Android window的requestWindowFeature()的使用方法,共享出来大家学习学习requestWindowFeature(Window.FEATURE_LEFT_ICON);setContentView(R.layout.dialog_activity);getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, a…

m1笔记本android开发,Apple M1设备开发Android小tips

虽然m1来开发android是挺有优势的,苦于google目前还没有支持m1芯片的android studio版本(包括测试版) 截稿日期2021-5-14,所以我们当下可以选择idea2021,原生支持m1,而且编译速度运行效率更快(同时也会让你失去摸鱼时间)&#xff…

android天气预报实训程序清单,Android天气预报项目

1、项目效果图:2、主页面MainActivity代码如下:MainActivity.javapackage com.qianfeng.weather;import android.content.Intent;import android.graphics.drawable.AnimationDrawable;import android.os.Handler;import android.os.Message;import andr…

harmonyOS智慧屏,在鸿蒙HarmonyOS智慧屏上实现一款粗糙的计算器

在学习的路上我们不能只是停留在对理论知识的理解,还应该将理论和实战进行结合,这样才有利于我们能够更有深度的掌握知识,最终形成自己的知识体系结构。我们在实战的时候,不仅可以巩固我们的理论知识,还能够在实战中发…

imx6 android快速启动,android启动不起来(已解决)

我使用imx6dl,使用JB4.3.3-1.1.0版本,但在启动的时候最后停在了Freeing init memory: 232K,就没了动静,各位大侠帮忙分析一下吧:以下是log:U-Boot 2009.08 ( 1��月 08 2014 - 15:47:46)CPU: Freescale i.MX…

android系统语音合成,android 语音合成报错

发现了2个问题第一个貌似是复制离线的资源出错了(已经核对过读写等权限):12-19 19:54:49.739 32006-32159/com.zhanglf.youxuanz I/NonBlockSyntherizer: 初始化开始12-19 19:54:49.748 32006-32159/com.zhanglf.youxuanz W/System.err: java.io.FileNotFoundExcept…

华为公布4月升级鸿蒙,华为余承东:鸿蒙OS今年4月见,华为Mate X2首批升级

随着搭载鸿蒙OS的终端设备日益增多,鸿蒙系统何时应用于手机成为舆论关注的焦点。特别是在2020年12月华为发布鸿蒙OS 2.0手机开发者Beta版本之后,公众对手机上运行鸿蒙OS的期待值越来越高。余承东在发布会上表示,从今年4月开始,华为…

android酷狗缓存目录,酷狗缓存的歌曲在哪个文件夹_酷狗音乐缓存的歌曲在电脑哪个目录-win7之家...

酷狗是一款很流行的音乐播放软件,当我们在听歌曲的时候,默认会缓存到文件夹中,方便下次没有网络的时候可以继续听这首歌,有些用户想要知道酷狗缓存的歌曲在哪个文件夹,我们可以从主界面中进入即可找到,接下…

html内容点击按钮自动复制,HTML页面---复制按钮的使用(包含弹层)

先说一下我的整体方案:用到了clipboard插件,官方地址和github地址,也可以参考中文说明。clipboard插件实测:在PC端的浏览器(试了mac上的safari,chrome,firefox)可用,iOS 10.3上的safari可用,手机上的微信QQ…

html给文字添加阴影效果,如何设置样式之添加文字阴影、边框阴影或者添加自己的CSS...

以下的例子只是样式面板的使用案例之一,样式面板功能很强大,几乎能完成您的所有需求,详情参阅这里。边框的案例可以参阅这里。一、如何给文字添加阴影效果首先, 打开CSS工作面板请依次点击:右侧栏“样式面板”按钮(见第…

html5图片剪切板,JavaScript 网页端复制图片到剪切板

前端页面可能需要复制图片到剪切板的功能,这里使用JavaScript来实现这一功能,兼容大部分浏览器全部代码复制图片到剪切板复制图片var SelectText function (element) {var doc document;if (doc.body.createTextRange) {var range document.body.crea…

java中的html标签位置,Java 过滤所有html标签,复制文件到指定位置

public static String filterHtml(String string){String str string.replaceAll("", "").replaceAll("[a-zA-Z][1-9]?>", "");return str;}复制文件到指定位置public static boolean inPutStreamTofile(InputStream inStream, S…

湖北大学计算机科学与技术怎么样,湖北大学(专业学位)计算机技术考研难吗

考研真题资料优惠价原价选择很多考生在准备湖北大学(专业学位)计算机技术考研难吗?是考研报考的时候都会产生这样的疑问:这个专业的研究生好吗?适合我吗?对我以后的人生和职业会有帮助吗?考生在准备湖北大学(专业学位)…

计算机打开共享网络连接打印机共享打印机,网络共享打印机连接不上怎么办_电脑连不上共享打印机如何解决-win7之家...

通常为了方便多人可以一起共用一台打印机,都会在局域网络中将打印机共享,可是近日有不少用户却遇到网络共享打印机连接不上的情况,这该怎么办呢,确认打印机已经共享,并且电脑在同一个家庭组里,针对脑连不上…

html盒子居中的方式,CSS盒子居中三种方法

前言CSS盒子居中,我觉得是很有必要学习一下的。特别是第三种方法,奇淫技巧升级版,也是生产环境中非常常见的一种方法,不需要知道宽度,随着祖先元素的变化而变化!1.常规方法常规方法只需要给盒子设置宽高&am…

台式计算机如何上网设置,台式电脑怎样设置宽带自动连接?

1、以Win7系统为例,在桌面任务栏中对着网络图标击右键,选择“打开网络和共享中心”菜单;2、在打开的页面中,点击页面左侧“更改适配器设置”按钮;3、在打开的页面中,找到宽带连接设置项,对其击右…