Я упорядочиваю массив, используя lodash / orderBy.Я не имею никакого контроля над тем, что возвращается в массиве.Когда в моих элементах массива есть новые строки, тогда они не упорядочиваются так, как я ожидаю.Есть ли способ игнорировать новые строки?Или каким-либо другим способом правильно оформить заказ?
const shouldBeFirst = 'My message\r\n\r\nshould consist of A A A A some
text';
const shouldBeSecond= 'My message\r\n\r\nshould consist of \r\n\r\n some
text';
const array = [
{ text: 'xxx' },
{ text: shouldBeFirst },
{ text: 'yyy' },
{ text: shouldBeSecond},
{ text: 'zzz' }];
const ordered = orderBy(array, ['day'], ['asc']);
Порядок, в котором я ожидаю получить эти предметы, составляет
{ text: shouldBeFirst },
{ text: shouldBeSecond},
{ text: 'xxx' },
{ text: 'yyy' },
{ text: 'zzz' }];
Однако порядок, в котором я их получаю:
{ text: shouldBeSecond },
{ text: shouldBeFirst },,
{ text: 'xxx' },
{ text: 'yyy' },
{ text: 'zzz' }];
[править: вфактический факт мне нужно отсортировать по большему количеству полей, поэтому фактическая сортировка будет больше похожа на код ниже]
const array = [
{ text: 'xxx', day: 'monday', hour: '12' },
{ text: shouldBeFirst, day: 'tuesday', hour: '12' },
{ text: 'yyy', day: 'wednesday', hour: '12' },
{ text: shouldBeSecond, day: 'thursday', hour: '12'},
{ text: 'zzz', day: 'friday', hour: '12' }];
const ordered = orderBy(array, ['day', 'hour', 'text'], ['asc', 'asc', 'asc']);