二維數組元素排序


<script type="text/javascript">
//--------------------------1數值排序-------------------------
var arr1=[[22,33,44],[1,0,6,2],[33,10],[10,5]];
arr1.sort(function(x,y){
return x[1] -y[1];//按照二維數組arr1中每個數組元素(數組)的第二個元素升序排列
});
console.log(arr1);


//--------------------------2字符串排序-------------------------
var arr2 = [['中', '國'], ['啊', '的'], ['哦', '的'],["aa","ee"]];
arr2.sort(function(x, y){
return x[0].localeCompare(y[0]);
//localeCompare作用:用本地特定的順序來比較兩個字符串。
//說明比較結果的數字。如果 stringObject 小於 target,則 localeCompare() 返回小於 0 的數。
//如果 stringObject 大於 target,則該方法返回大於 0 的數。如果兩個字符串相等,或根據本地排序規則沒有區別,該方法返回 0。
});
console.log(arr2);


//--------------------------3-------------------------
var arr=[["e","2","g"],["b","3","c"],["a","1","a"],["d","4","h"]]
arr.sort(sortfunction);
console.log(arr[0] + "" + arr[1] + "" + arr[2] + "" + arr[3])// 排序方法中有兩個參數,表示數組中兩個用來排序的元素
//
function sortfunction(x,y)
{
return x[2].charCodeAt(0) - y[2].charCodeAt(0);//根據二維數組的第三列的第一個字母的ASCII碼來降序排序
//charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數。
//方法 charCodeAt() 與 charAt() 方法執行的操作相似,只不過前者返回的是位於指定位置的字符的編碼,而后者返回的是字符子串。
}
</script>

 

http://blog.csdn.net/wyodyia/article/details/7386426


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM