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 ...
總結
以上是生活随笔為你收集整理的c语言sort函数排序二维数组,js 二维数组排序sort()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js十秒没有点击怎么判断_MAC口红怎么
- 下一篇: java提取多行嵌套div/div内容的