按部分排序的破折号顺序

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

我有一个包含元素的数组,如下所示。我需要对数组进行部分排序,其中“ fix === 1”元素需要保留在开始/顶部,而无需任何排序,而排序将应用于条件为“ fix ====”的jobDueDate数组元素0

我把这个结果放在开始/顶部的结果是[[fix列中,但是对“ fix === 1进行了排序,这不是必需的this.data = _.orderBy(this.data,['fix','jobDueDate'],['desc','asc']);

[ { "id": 6060, "jobNumber": 1878, "jobDueDate": "2018-02-07T00:00:00", "fix": 1 }, { "id": 5337, "jobNumber": 1836, "jobDueDate": "2018-02-05T00:00:00", "fix": 1 }, { "id": 5702, "jobNumber": 1863, "jobDueDate": "2018-02-06T00:00:00", "fix": 1 }, { "id": 32583, "jobNumber": 1611, "jobDueDate": "1753-01-01T00:00:00", "fix": 0 }, { "id": 33403, "jobNumber": 1932, "jobDueDate": "2008-01-28T00:00:00", "fix": 0 }, { "id": 29481, "jobNumber": 2741, "jobDueDate": "2018-02-03T00:00:00", "fix": 0 }, { "id": 278, "jobNumber": 1541, "jobDueDate": "2018-02-05T00:00:00", "fix": 0 }, { "id": 5331, "jobNumber": 1836, "jobDueDate": "2018-02-05T00:00:00", "fix": 0 }, { "id": 5708, "jobNumber": 1863, "jobDueDate": "2018-02-06T00:00:00", "fix": 0 }, { "id": 6066, "jobNumber": 1878, "jobDueDate": "2018-02-07T00:00:00", "fix": 0 }, { "id": 5193, "jobNumber": 1825, "jobDueDate": "2018-02-08T00:00:00", "fix": 0 } ]
javascript angular lodash
1个回答
0
投票
使用实现所需逻辑的自定义排序功能。如果我说对了,这应该可以帮到您:

_.sortBy(input, (o) => o.fix == 1 ? 0 : o.jobDueDate);

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