JavaScriptの配列のソートの話 (3) – lodash _.orderBy()

前回の記事

lodashのorderByについて書くのを忘れていたので簡単に。
sortByよりも柔軟なソートを手軽に行うことができる。

        it('_.orderBy()でソートできる', () => {
            // Act
            const sortedUsers = _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
            // Assert
            expect(sortedUsers).toEqual([
                {'user': 'barney', 'age': 36},
                {'user': 'barney', 'age': 34},
                {'user': 'fred', 'age': 48},
                {'user': 'fred', 'age': 40},
            ])
        });

上の例は、第1ソートがuserプロパティの値の昇順、第2ソートがageプロパティの値の降順であることを示している。以下のようにネストされたプロパティの指定もできる。

        it('_.orderBy()でソートできる', () => {
            // Act
            const sortedUsers = _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
            // Assert
            expect(sortedUsers).toEqual([
                {'user': 'barney', 'age': 36},
                {'user': 'barney', 'age': 34},
                {'user': 'fred', 'age': 48},
                {'user': 'fred', 'age': 40},
            ])
        });

以上。