首页 > 解决方案 > Lodash 按属性排序/排序数组

问题描述

我有以下对象数组:

var tasks = [
   { importance: 'moderate', task: 'do laundry' },
   { importance: 'critical', task: 'brush teeth' },
   { importance: 'important', task: 'buy milk' },
   { importance: 'unimportant', task: 'wash car' },
];

如何使用 lodash 排序或排序函数按重要性级别对数组进行排序?

标签: javascriptlodash

解决方案


你可以在没有 lodash 的情况下做到这一点:

var tasks = [
   { importance: 'moderate', task: 'do laundry' },
   { importance: 'critical', task: 'brush teeth' },
   { importance: 'important', task: 'buy milk' },
   { importance: 'unimportant', task: 'wash car' },
];

var priorityIndex = {unimportant: 1, moderate: 2, important: 3, critical: 4};

tasks.sort((a, b) =>  priorityIndex[a.importance] - priorityIndex[b.importance]);

console.log(tasks);


推荐阅读