本文實例講述了JS實現給數組對象排序的方法。分享給大家供大家參考,具體如下:
JS中給數組對象排序
假設有一個對象數組,我們想要根據某個對象屬性對數組進行排序。而傳遞給數組sort()
方法的比較函數要接收2個參數,即要比較的值。
可是,我們需要一種方式指明按照哪個屬性來排序。
要解決這個問題,可以定義一個函數,它接收一個屬性名,然后根據這個屬性名來創建一個比較函數。
function createComprisonFunction(propertyName){ return function(object1,object2){ var value1 = object1[propertyName]; var value2 = object2[propertyName]; if(value1 < value2){ return -1; }else if(value1 > value2){ return 1; }else{ return 0; } }}//上面的函數可以像在下面的列子中這樣使用var data = [{name:"Zachary",age:28},{name:"Nicholas",age:29}];data.sort(createComprisonFunction("name"));console.log(data[0].name); //Nicholasdata.sort(createComprisonFunction("age"));console.log(data[0].name); //Zachary
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答