一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - js使用Array.prototype.sort()對數(shù)組對象排序的方法

js使用Array.prototype.sort()對數(shù)組對象排序的方法

2021-07-28 15:55JS教程網(wǎng) JavaScript

這篇文章主要介紹了js使用Array.prototype.sort()對數(shù)組對象排序的方法,實(shí)例分析了Array.prototype.sort()的原理與相關(guān)的使用技巧,需要的朋友可以參考下

本文實(shí)例講述了js使用Array.prototype.sort()對數(shù)組對象排序的方法。分享給大家供大家參考。具體分析如下:

在講對數(shù)組對象進(jìn)行排序時(shí),我們先來簡單的了解一下Array.prototype.sort()。sort方法接受一個(gè)參數(shù)——Function,function會(huì)提供兩個(gè)參數(shù),分別是兩個(gè)進(jìn)行比較的元素,如果元素是String類型則通過Unicode code進(jìn)行比較,如果是Number類型則比較值的大小。如果比較的函數(shù)中返回1則兩個(gè)元素交換位置,0和-1不交換位置。先看一個(gè)例子:

 

復(fù)制代碼 代碼如下:
var arr = [3, 5, 2, 1];
// 從小到大排序
arr.sort(function (a, b) {
    return a > b ? 1 : -1;
});
// 得到的結(jié)果:[1, 2, 3, 5]


那么回到我們的主題,如果是對一個(gè)數(shù)組對象進(jìn)行排序,該怎么寫呢?其實(shí)原理和上面一樣,如:

 

 

復(fù)制代碼 代碼如下:
var arr = [
    { a : 2, b : 3.2},
    { a : 3, b : 1.2},
    { a : 4, b : 2.2},
    { a : 6, b : 1.2},
    { a : 5, b : 3.2}
]
/// 從小到大按屬性b排序
arr.sort(function(x, y){
    return x.b > y.b ? 1:-1;
});


x和y就是arr的一個(gè)元素,即一個(gè)對象,所以直接比較兩個(gè)對象的屬性即可。

 

上面的例子中,最小的元素中有重復(fù),如果需求是:先按b屬性從小到大排序,如果最小中有重復(fù)則再按a屬性排序,那應(yīng)該怎么寫呢?

在排序的時(shí)候,先按b屬性排序,如果x.b的大于y.b則將x移到y(tǒng)的右邊,如果x.b等于y.b則再通過x.a和y.a進(jìn)行比較,所以代碼如下:

 

復(fù)制代碼 代碼如下:
arr.sort(function (x, y) {
    if (x.b > y.b) {
        return 1;
    } else if (x.b === y.b) {
        return x.a > y.a ? 1 : -1;
    } else if (x.b < y.b) {
        return -1;
    }
})

 

希望本文所述對大家的javascript程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 俄罗斯性高清完整版 | 五月激情丁香婷婷综合第九 | 四虎永久在线精品国产馆v视影院 | 国产精品区牛牛影院 | 5g影院天天 | 处女摘花 | 午夜国产在线观看 | 日本人成动漫网站在线观看 | 狠狠综合视频精品播放 | 国产国语在线播放视频 | 亚洲 欧美 日本 国产 高清 | 亚州综合网 | 国产亚洲精品日韩香蕉网 | 深夜影院深a | 女毛片| 国产视频二 | 国产精品吹潮香蕉在线观看 | 亚洲区在线 | 免费网址在线观看入口推荐 | 青苹果乐园影院免费观看完整版 | 成人aaaa| 2020国产精品永久在线观看 | 日本欧美强乱视频在线 | 色哟哟观看 | 国产成人精品午夜免费 | 手机看片日韩1024你懂的首页 | 亚洲电影不卡 | 被老外玩爽的中国美女视频 | 亚洲精品国产综合久久一线 | 99久久香蕉国产线看观香 | 色批网站www | 97色综合 | 国产aⅴ一区二区三区 | 视频二区 素人 欧美 日韩 | 白丝超短裙被输出娇喘不停小说 | 九九在线免费视频 | 99热r| 免费看h片的网站 | 睡男神的这件小事小说在线阅读 | 亚洲七七久久综合桃花 | 亚洲精品久久久久久婷婷 |