javascript排序函數(shù)實(shí)現(xiàn)數(shù)字排序
更新時(shí)間:2015年06月26日 11:16:33 投稿:hebedich
這篇文章主要介紹了javascript排序函數(shù)實(shí)現(xiàn)數(shù)字排序的相關(guān)資料,附上示例,需要的朋友可以參考下
javascript排序函數(shù)實(shí)現(xiàn)數(shù)字排序
<script>
function SortNumber(obj,func) //定義通用排序函數(shù)
{
//參數(shù)驗(yàn)證,如果第一個(gè)參數(shù)不是數(shù)組或第二個(gè)參數(shù)不是函數(shù)則拋出異常
if(!(obj instanceof Array) || !(func instanceof Function))
{
var e = new Error(); //生成錯(cuò)誤信息
e.number = 100000; //定義錯(cuò)誤號(hào)
e.message = "參數(shù)無(wú)效"; //錯(cuò)誤描述
throw e; //拋出異常
}
for(n in obj) //開(kāi)始排序
{
for(m in obj)
{
if(func( obj[n],obj[m]) ) //使用回調(diào)函數(shù)排序,規(guī)則由用戶(hù)設(shè)定
{
var tmp = obj[n]; //創(chuàng)建臨時(shí)變量
obj[n] = obj[m]; //交換數(shù)據(jù)
obj[m] = tmp;
}
}
}
return obj; //返回排序后的數(shù)組
}
function greatThan(arg1,arg2) //回調(diào)函數(shù),用戶(hù)定義的排序規(guī)則
{
return arg1 < arg2;
}
try
{
var numAry = new Array(5,8,6,32,1,45,6,89,9); //生成一數(shù)組
document.write("<li>排序前:"+numAry); //輸出排序前的數(shù)組
SortNumber(numAry,greatThan); //調(diào)用排序函數(shù)
document.write("<li>排序后:"+numAry); //輸出排序后的數(shù)組
}
catch(e)
{
alert(e.number+":"+e.message);
}
</script>
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
“增強(qiáng)js程序代碼的健壯性”之我見(jiàn)大量示例代碼
“增強(qiáng)js程序代碼的健壯性”之我見(jiàn)大量示例代碼...2007-05-05
Javascript操縱Cookie實(shí)現(xiàn)購(gòu)物車(chē)程序
Javascript操縱Cookie實(shí)現(xiàn)購(gòu)物車(chē)程序...2006-11-11
如何基于uni-app實(shí)現(xiàn)微信小程序一鍵登錄與退出登錄功能
uni-app 是使用vue的語(yǔ)法+小程序的標(biāo)簽和API的一套框架,是一套代碼多端使用,目前是大前端的一種趨勢(shì),下面這篇文章主要給大家介紹了關(guān)于如何基于uni-app實(shí)現(xiàn)微信小程序一鍵登錄與退出登錄功能的相關(guān)資料,需要的朋友可以參考下2022-09-09
JS注釋所產(chǎn)生的bug 即使注釋也會(huì)執(zhí)行
寫(xiě)js時(shí)出現(xiàn)個(gè)bug一直提示我JAVA類(lèi)中的一個(gè)屬性沒(méi)有,可是明明注釋掉了,后來(lái)才知道,JS里即使注釋也會(huì)執(zhí)行2013-11-11
Javascript ES6中數(shù)據(jù)類(lèi)型Symbol的使用詳解
Symbol類(lèi)型是es6新增的一個(gè)數(shù)據(jù)類(lèi)型,Symbol值通過(guò)Symbol函數(shù)生成Symbol類(lèi)型是保證每個(gè)屬性的名字都是獨(dú)一無(wú)二的,對(duì)于一個(gè)對(duì)象由對(duì)個(gè)模塊構(gòu)成的情況非常有用,本文主要介紹了Javascript ES6中數(shù)據(jù)類(lèi)型Symbol使用的相關(guān)資料,需要的朋友可以參考下。2017-05-05

