JavaScript中數(shù)組Array.sort()排序方法詳解
JavaScript中數(shù)組的sort()方法主要用于對(duì)數(shù)組的元素進(jìn)行排序。其中,sort()方法有一個(gè)可選參數(shù)。但是,此參數(shù)必須是函數(shù)。 數(shù)組在調(diào)用sort()方法時(shí),如果沒有傳參將按字母順序(字符編碼順序)對(duì)數(shù)組中的元素進(jìn)行排序,如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要進(jìn)行傳一個(gè)參數(shù)且為函數(shù),該函數(shù)要比較兩個(gè)值,并且會(huì)返回一個(gè)用于說明這兩個(gè)值的相對(duì)順序的數(shù)字。
1、對(duì)數(shù)字?jǐn)?shù)組進(jìn)行由小到大的順序進(jìn)行排序。
代碼:
var arr = [22,12,3,43,56,47,4]; arr.sort(); console.log(arr); // [12, 22, 3, 4, 43, 47, 56] arr.sort(function (m, n) { if (m < n) return -1 else if (m > n) return 1 else return 0 }); console.log(arr); // [3, 4, 12, 22, 43, 47, 56]
2、對(duì)字符串?dāng)?shù)組執(zhí)行不區(qū)分大小寫的字母表排序。
代碼:
var arr = ['abc', 'Def', 'BoC', 'FED']; console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"] console.log(arr.sort(function(s, t){ var a = s.toLowerCase(); var b = t.toLowerCase(); if (a < b) return -1; if (a > b) return 1; return 0; })); // ["abc", "BoC", "Def", "FED"]
3、對(duì)包含對(duì)象的數(shù)組排序,要求根據(jù)對(duì)象中的年齡進(jìn)行由大到小的順序排列
代碼:
var arr = [{'name': '張三', age: 26},{'name': '李四', age: 12},{'name': '王五', age: 37},{'name': '趙六', age: 4}]; var objectArraySort = function (keyName) { return function (objectN, objectM) { var valueN = objectN[keyName] var valueM = objectM[keyName] if (valueN < valueM) return 1 else if (valueN > valueM) return -1 else return 0 } } arr.sort(objectArraySort('age')) console.log(arr) // [{'name': '王五', age: 37},{'name': '張三', age: 26},{'name': '李四', age: 12},{'name': '趙六', age: 4}]
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
- Js數(shù)組排序函數(shù)sort()介紹
- js對(duì)數(shù)組中的數(shù)字從小到大排序?qū)崿F(xiàn)代碼
- Javascript數(shù)組的排序 sort()方法和reverse()方法
- JS數(shù)組排序技巧匯總(冒泡、sort、快速、希爾等排序)
- js中數(shù)組(Array)的排序(sort)注意事項(xiàng)說明
- js sort 二維數(shù)組排序的用法小結(jié)
- JS實(shí)現(xiàn)根據(jù)數(shù)組對(duì)象的某一屬性排序操作示例
- js使用Array.prototype.sort()對(duì)數(shù)組對(duì)象排序的方法
- JS實(shí)現(xiàn)json對(duì)象數(shù)組按對(duì)象屬性排序操作示例
- js實(shí)現(xiàn)嵌套數(shù)組重排序
相關(guān)文章
總結(jié)分享10 個(gè)超棒的 JavaScript 簡(jiǎn)寫技巧
這篇文章主要總結(jié)分享10 個(gè)超棒的 JavaScript 簡(jiǎn)寫技巧,有合并數(shù)組、克隆數(shù)組、解構(gòu)賦值、模板字面量等技巧,需要的朋友可以參考一下2022-06-06js使用for循環(huán)及if語句判斷多個(gè)一樣的name
這篇文章主要介紹了js使用for循環(huán)機(jī)if語句判斷多個(gè)一樣的name,此法比較實(shí)用,需要的朋友可以參考下2014-09-09JavaScript?中URL?查詢字符串(query?string)的序列與反序列化的方法
在 JavaScript 中,可以使用?URLSearchParams?對(duì)象來處理 URL 中的查詢字符串,這篇文章主要介紹了JavaScript?中URL查詢字符串(query?string)的序列與反序列化,需要的朋友可以參考下2023-01-01VSCode中如何利用d.ts文件進(jìn)行js智能提示
這篇文章主要給大家介紹了關(guān)于VSCode中如何利用d.ts文件進(jìn)行js智能提示的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2018-04-04學(xué)習(xí)JavaScript鼠標(biāo)響應(yīng)事件
這篇文章主要帶領(lǐng)大家學(xué)習(xí)JavaScript鼠標(biāo)響應(yīng)事件,為大家分享了一個(gè)簡(jiǎn)單的鼠標(biāo)模擬案例,感興趣的小伙伴們可以參考一下2015-12-12ES6 Iterator接口和for...of循環(huán)用法分析
這篇文章主要介紹了ES6 Iterator接口和for...of循環(huán)用法,結(jié)合實(shí)例形式分析了Iterator接口和for...of循環(huán)相關(guān)使用技巧,需要的朋友可以參考下2019-07-07JavaScript 經(jīng)典實(shí)例日常收集整理(常用經(jīng)典)
本文是小編日常收集整理些js經(jīng)典實(shí)例,非常具有參考借鑒價(jià)值,需要的朋友一起了解了解吧2016-03-03localResizeIMG先壓縮后使用ajax無刷新上傳(移動(dòng)端)
隨著技術(shù)的發(fā)展,移動(dòng)設(shè)備像素越來越高,但是這么大的圖片怎么上傳呢?下面小編就給大家一起學(xué)習(xí)移動(dòng)端圖片上傳的方法之localResizeIMG先壓縮后使用ajax無刷新上傳,需要的朋友可以參考下2015-08-08