Lodash sortBy возвращает элементы в случайном порядке (не отсортировано) - PullRequest
0 голосов
/ 04 июля 2018

Lodash sortBy у меня не работает:

const _ = require('lodash');
let array = [3, 'q', 'e', 'w', 4, 'w', 1, 3, 2];
let data = _(array).sortBy(x => x);
console.log(data.value());
console.log(array.sort());

выход

[ 3, 'e', 'q', 'w', 4, 'w', 1, 2, 3 ]
[ 1, 2, 3, 3, 4, 'e', 'q', 'w', 'w' ]

Вывод из .sortBy() не имеет смысла. Встроенный .sort() работает как положено. Чего мне не хватает?

1 Ответ

0 голосов
/ 04 июля 2018

Вы можете привести предметы в строку для сравнения

let array = [{a:3}, {a:'q'}, {a:'e'}, {a:'w'}, {a:4}, {a:'w'}, {a:1}, {a:3}, {a:2}];
let data = _(array).sortBy(x => x.a.toString());
console.log(data);
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>
...