مرتب سازی یک آرایه Json بر حسب یک property خاص در جاوا اسکریپت

۲۵ آذر ۱۳۹۵

این روزها استفاده از زبان جاوااسکریپت و تکنولوژی‌های مرتبط با آن بسیار فراگیر شده است. یکی از کارهای بسیار متداول در جاوااسکریپت، کار با آرایه‌های Json است. در این نوشته قصد داریم که مرتب سازی یک آرایه Json بر حسب یک property خاص در جاوااسکریپت را بررسی کنیم.



 فرض کنید یک آرایه json به صورت زیر داریم و می‌خواهیم آن را بر حسب id یا pid  مرتب کنیم:


var items = [{id:2, title:"...", pId:62},
             {id:1, title:"...", pId:43},
             {id:4, title:"...", pId:74},
             {id:9, title:"...", pId:35},
             {id:5, title:"...", pId:81}];

برای این‌کار تابعی به صوت زیر نوشته و آن را در ()array.sort فراخوانی می‌کنیم:


function sortByProperty(property){
   return function(a,b){

      if(a[property] > b[property])
         return 1;
      else if(a[property] < b[property])
         return -1;

      return 0;
   }
}

برای مرتب سازی کافی است به صورت زیر عمل کنیم:
items.sort(sortByProperty("pId"));  //sort according to pId
 
items.sort(sortByProperty("id"));  //sort according to id

هیچ نظری موجود نیست: