Если вы хотите, чтобы сначала был самый последний элемент, а остальные в порядке возрастания, то вы можете просто отсортировать их в порядке возрастания. Поскольку последний элемент будет самым последним, вы можете повернуть его в начало массива с помощью Array#pop
и Array#unshift
:
let result = [
{ modifiedDate: "2019-02-01", name: "february" },
{ modifiedDate: "2019-04-01", name: "april" },
{ modifiedDate: "2019-01-01", name: "january" },
{ modifiedDate: "2019-03-01", name: "march" }
];
//sort ascending
let notesInfo = _.sortBy(result, ['modifiedDate']);
//take the most recent (last)
var lastElement = notesInfo.pop();
//place it first
notesInfo.unshift(lastElement);
console.log(notesInfo);
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>
Если вы хотите, чтобы элементы находились в порядке убывания, вам следует использовать _.orderBy
вместо _.sortBy
:
let result = [
{ modifiedDate: "2019-02-01", name: "february" },
{ modifiedDate: "2019-04-01", name: "april" },
{ modifiedDate: "2019-01-01", name: "january" },
{ modifiedDate: "2019-03-01", name: "march" }
];
//sort descending
let notesInfo = _.orderBy(result, ['modifiedDate'], ['desc']);
console.log(notesInfo);
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>