JS sort方法基于數(shù)組對象屬性值排序
更新時間:2020年07月10日 08:55:12 作者:yuwenjing
這篇文章主要介紹了JS sort方法基于數(shù)組對象屬性值排序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
sort方法接收一個函數(shù)作為參數(shù),這里嵌套一層函數(shù)用來接收對象屬性名,其他部分代碼與正常使用sort方法相同.
var arr = [
{name:'zopp',age:0},
{name:'gpp',age:18},
{name:'yjj',age:8}
];
function compare(property){
return function(a,b){
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
console.log(arr.sort(compare('age')))

如何根據(jù)參數(shù)不同,來確定是升序排列,還是降序排序呢?
/**數(shù)組根據(jù)數(shù)組對象中的某個屬性值進行排序的方法
* 使用例子:newArray.sort(sortBy('number',false)) //表示根據(jù)number屬性降序排列;若第二個參數(shù)不傳遞,默認表示升序排序
* @param attr 排序的屬性 如number屬性
* @param rev true表示升序排列,false降序排序
* */
sortBy: function(attr,rev){
//第二個參數(shù)沒有傳遞 默認升序排列
if(rev == undefined){
rev = 1;
}else{
rev = (rev) ? 1 : -1;
}
return function(a,b){
a = a[attr];
b = b[attr];
if(a < b){
return rev * -1;
}
if(a > b){
return rev * 1;
}
return 0;
}
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- JS對象數(shù)組排序方法測試代碼示例
- JavaScript將對象數(shù)組按字母順序排序的方法詳解
- JavaScript中好用的數(shù)組對象排序方法分享
- javascript中的Array對象(數(shù)組的合并、轉換、迭代、排序、堆棧)
- JS深入學習之數(shù)組對象排序操作示例
- js 根據(jù)對象數(shù)組中的屬性進行排序實現(xiàn)代碼
- JS實現(xiàn)給數(shù)組對象排序的方法分析
- JS實現(xiàn)根據(jù)數(shù)組對象的某一屬性排序操作示例
- js中的數(shù)組對象排序分析
- JS實現(xiàn)json對象數(shù)組按對象屬性排序操作示例
- JavaScripts數(shù)組里的對象排序的24個方法(最新整理收藏)
相關文章
微信小程序MUI導航欄透明漸變功能示例(通過改變rgba的a值實現(xiàn))
這篇文章主要介紹了微信小程序MUI導航欄透明漸變功能,結合實例形式分析了通過改變rgba的a值實現(xiàn)透明度漸變功能的相關操作技巧,需要的朋友可以參考下2019-01-01
一文帶你搞懂JS中導入模塊import和require的區(qū)別
JavaScript中,模塊是一種可重用的代碼塊,它將一些代碼打包成一個單獨的單元,并且可以在其他代碼中進行導入和使用。JavaScript中有兩種常用的方式:使用import和require,本文主要聊聊他們二者的區(qū)別2023-03-03
微信小程序數(shù)據(jù)操作指南之從綁定到更新的操作方法
在微信小程序開發(fā)中,數(shù)據(jù)操作是不可或缺的一環(huán),文章詳細介紹了數(shù)據(jù)綁定、更新等方法,并提供示例和注意事項,幫助開發(fā)者更好地應用這些技術,本文給大家介紹微信小程序數(shù)據(jù)操作指南之從綁定到更新,感興趣的朋友跟隨小編一起看看吧2024-10-10
BootStrap使用popover插件實現(xiàn)鼠標經(jīng)過顯示并保持顯示框
這篇文章主要介紹了BootStrap使用popover插件實現(xiàn)鼠標經(jīng)過顯示并保持顯示框的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06

