亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

擴(kuò)展js對象數(shù)組的OrderByAsc和OrderByDesc方法實(shí)現(xiàn)思路

 更新時(shí)間:2013年05月17日 18:03:46   作者:  
js的擴(kuò)展方法是基于原型的,如Array.prototype.XXXX就是給Array擴(kuò)展XXX方法,然后數(shù)組都能使用這個(gè)方法了,在對象數(shù)組里面經(jīng)常有根據(jù)屬性來進(jìn)行排序的,升序,降序的,下面與大家分享自己寫的一個(gè)
看了一段時(shí)間關(guān)于js原型的知識,js的擴(kuò)展方法是基于原型的,如Array.prototype.XXXX就是給Array擴(kuò)展XXX方法,然后數(shù)組都能使用這個(gè)方法了。

在對象數(shù)組里面經(jīng)常有根據(jù)屬性來進(jìn)行排序的,升序,降序的,于是自己就想寫一個(gè)類似于C#里面的orderBy的方法,代碼如下:
復(fù)制代碼 代碼如下:

Array.prototype.OrderByAsc = function (func) {
var m = {};
for (var i = 0; i < this.length; i++) {
for (var k = 0; k < this.length; k++) {
if (func(this[i]) < func(this[k])) {
m = this[k];
this[k] = this[i];
this[i] = m;
}
}
}
return this;
}
Array.prototype.OrderByDesc = function (func) {
var m = {};
for (var i = 0; i < this.length; i++) {
for (var k = 0; k < this.length; k++) {
if (func(this[i]) > func(this[k])) {
m = this[k];
this[k] = this[i];
this[i] = m;
}
}
}
return this;
}

調(diào)用的方法如下:
復(fù)制代碼 代碼如下:

var arr = [{ name: 'aaa', grade: 20 }, { name: 'ccc', grade: 30 }, { name: 'bbb', grade: 40 }];
var orderArr = arr.OrderByDesc(function (a) {
return a.grade;
});

然后輸出一下,看一下結(jié)果吧:
復(fù)制代碼 代碼如下:

for (var i = 0; i < orderArr.length; i++) {
document.write(orderArr[i].name);
}

本人js菜鳥,如果有什么想法啥的,直接留言,相互交流一下

相關(guān)文章

  • javascript數(shù)組去重3種方法的性能測試與比較

    javascript數(shù)組去重3種方法的性能測試與比較

    面試題中有一題數(shù)組去重,首先想到的是對象存鍵值的方法可是遇到不同類型又能轉(zhuǎn)換成同樣的字符串的就完了接下來為大家介紹下雙重循環(huán)/存鍵值和類型實(shí)現(xiàn)去重,感興趣的各位可以參考下哈
    2013-03-03
  • 微信小程序全局變量改變監(jiān)聽的實(shí)現(xiàn)方法

    微信小程序全局變量改變監(jiān)聽的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于微信小程序全局變量改變監(jiān)聽的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 小程序?qū)崿F(xiàn)計(jì)時(shí)器功能

    小程序?qū)崿F(xiàn)計(jì)時(shí)器功能

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)計(jì)時(shí)器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Javascript從數(shù)組中隨機(jī)取出不同元素的兩種方法

    Javascript從數(shù)組中隨機(jī)取出不同元素的兩種方法

    這篇文章給大家分享了兩種Javascript從數(shù)組中隨機(jī)取出不同元素的方法,大家可以都學(xué)習(xí)學(xué)習(xí),這樣更能有助于大家的學(xué)習(xí)和理解,下面來一起看看吧
    2016-09-09
  • js倒計(jì)時(shí)搶購實(shí)例

    js倒計(jì)時(shí)搶購實(shí)例

    這篇文章主要介紹了js倒計(jì)時(shí)簡單實(shí)現(xiàn)方法,方便一些提示重要日期的來臨,本實(shí)例特別適合用于商品倒計(jì)時(shí)搶購活動,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Bootstrap媒體對象學(xué)習(xí)使用

    Bootstrap媒體對象學(xué)習(xí)使用

    這篇文章主要為大家詳細(xì)介紹了Bootstrap媒體對象的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • JavaScript中0和

    JavaScript中0和""比較引發(fā)的問題

    這篇文章主要介紹了JavaScript中0和""比較引發(fā)的問題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • 點(diǎn)評js異步加載的4種方式

    點(diǎn)評js異步加載的4種方式

    這篇文章主要介紹了點(diǎn)評js異步加載的4種方式,幫助大家更全面的了解js異步加載方式,感興趣的小伙伴們可以參考一下
    2015-12-12
  • js實(shí)現(xiàn)簡單放大鏡特效

    js實(shí)現(xiàn)簡單放大鏡特效

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簡單放大鏡特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 詳解JavaScript閉包的優(yōu)缺點(diǎn)和作用

    詳解JavaScript閉包的優(yōu)缺點(diǎn)和作用

    閉包是指在 JavaScript 中,內(nèi)部函數(shù)可以訪問其外部函數(shù)作用域中的變量,即使外部函數(shù)已經(jīng)執(zhí)行完畢,這種特性被稱為閉包,本文將給大家介紹一下JavaScript閉包的優(yōu)缺點(diǎn)和作用,需要的朋友可以參考下
    2023-09-09

最新評論