JS sort方法基于數(shù)組對(duì)象屬性值排序
sort方法接收一個(gè)函數(shù)作為參數(shù),這里嵌套一層函數(shù)用來(lái)接收對(duì)象屬性名,其他部分代碼與正常使用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ù)不同,來(lái)確定是升序排列,還是降序排序呢?
/**數(shù)組根據(jù)數(shù)組對(duì)象中的某個(gè)屬性值進(jìn)行排序的方法 * 使用例子:newArray.sort(sortBy(’number’,false)) //表示根據(jù)number屬性降序排列;若第二個(gè)參數(shù)不傳遞,默認(rèn)表示升序排序 * @param attr 排序的屬性 如number屬性 * @param rev true表示升序排列,false降序排序 * */ sortBy: function(attr,rev){ //第二個(gè)參數(shù)沒(méi)有傳遞 默認(rèn)升序排列 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; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)2. XHTML 1.0:標(biāo)記新的開(kāi)端3. HTML5 Canvas繪制圖形從入門(mén)到精通4. XML解析錯(cuò)誤:未組織好 的解決辦法5. ASP基礎(chǔ)知識(shí)VBScript基本元素講解6. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼7. 詳解CSS偽元素的妙用單標(biāo)簽之美8. 利用CSS3新特性創(chuàng)建透明邊框三角9. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法10. XML入門(mén)的常見(jiàn)問(wèn)題(四)
