code

밑줄 sortBy를 사용하여 개체 정렬이있는 배열

codestyles 2020. 11. 10. 08:08
반응형

밑줄 sortBy를 사용하여 개체 정렬이있는 배열


이 배열이 있습니다. 시작 날짜에 따라 정렬하려면 밑줄 '_.sortBy'를 어떻게 사용합니까?

[
    { 
        id: 'oljw832021kjnb389xzll323jk',
        start: { dateTime: '2013-09-26T13:30:00-07:00' },
        end: { dateTime: '2013-09-26T14:30:00-07:00' },
    },
    { 
        id: 'ed7l5tmckdp0lm90nvr4is3d4c',
        start: { dateTime: '2013-09-26T15:30:00-07:00' },
        end: { dateTime: '2013-09-26T16:30:00-07:00' },
    },
    { 
        id: 'etmasdsackdp0kjl0nvrkopioqw',
        start: { dateTime: '2013-09-26T18:00:00-07:00' },
        end: { dateTime: '2013-09-26T19:00:00-07:00' },
    }
]

속성에 단일 문자열이 아닌 반복기 함수를 사용합니다.

_.sortBy(arr, function(o) { return o.start.dateTime; })

나는 이렇게했다 :

var sorted = _(list).sortBy(
                    function (item) {                        
                        return [new Date(item.effectiveDate).getTime(), item.batchId];
                    }), "batchId");

내림차순을 원한다면 똑같지 만 * -1

var sorted = _(list).sortBy(
                    function (item) {                        
                        return [new Date(item.effectiveDate).getTime()*-1, item.batchId];
                    }), "batchId");

이 예에서는 두 개의 필드를 기준으로 정렬하고 있는데 item.batchId는 잊어 버릴 수 있습니다.

이것이 누군가를 돕기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/19090626/array-with-object-sorting-with-underscore-sortby

반응형