Lodash _.sortBy基于创建的日期和时间

问题描述 投票:0回答:3

let notesInfo = []

if (_.isArray(result)) {
  console.log(result, '-----------');
  notesInfo = _.sortBy(result, ['modifiedDate']);
} else {
  notesInfo = result;
}

console.log(notesInfo)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>

我正在使用此代码根据创建的日期和时间显示注释。最新添加的注释应使用lodash的sortBy方法放在顶部。如何实现呢?预先感谢。

javascript lodash angular7
3个回答
2
投票

如果要先获取最新的项目,而其余的则按升序排列,那么您可以按升序正常排序。由于最后一个元素将是最新元素,因此可以使用Array#popArray#pop将其旋转到数组的开头:

Array#unshift
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/[email protected]/lodash.min.js"></script>

_.orderBy
_.orderBy

0
投票

让我们假设这是您的数据:


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.