7
0
0
من یه آرایه از اشیاء جاوااسکریپت دارم:
let objs = [
{ first_nom: 'Laszlo', last_nom: 'Jamf' },
{ first_nom: 'Pig', last_nom: 'Bodine' },
{ first_nom: 'Pirate', last_nom: 'Prentice' }
];
چطور میتونم اونا رو بر اساس مقدار last_nom در جاوااسکریپت مرتب کنم؟
من با sort(a, b) آشنا هستم، ولی به نظر میرسه فقط برای رشتهها و اعداد کار میکنه. آیا باید متد toString() رو به اشیاءم اضافه کنم؟
0
0
پاسخ کاربردی
نوشتن یه تابع مقایسه به راحتی امکانپذیره:
function compare( a, b ) {
if ( a.last_nom < b.last_nom ){
return -1;
}
if ( a.last_nom > b.last_nom ){
return 1;
}
return 0;
}
objs.sort( compare );
یا
objs.sort((a,b) => (a.last_nom > b.last_nom) ? 1 : ((b.last_nom > a.last_nom) ? -1 : 0))
یا به صورت سادهتر برای اعداد:
objs.sort((a,b) => a.last_nom - b.last_nom);
ارسال پاسخ به سوال بالا