У меня есть массив объектов, как это:Character быть первым в рода
var myArray = [{name: 'John', sortItem: 'abra'}, {name: 'Doe', sortItem: 'cadabra'}]
Некоторые данные Сдерживает:
- эти элементы являются динамическими - как «имя» и свойства «sortItem»;
- есть веская причина для отображения имени, но сортировки по другому полю;
- этот массив поступает с сервера, поэтому он должен быть легко JSON-строгим.
Тогда сортировать его sortBy(myArray, 'sortItem')
(sortBy
от lodash).
Теперь я хочу добавить параметр по умолчанию, и я хочу убедиться, что это всегда первый вариант после сортировки. Так что я попробовал несколько вариантов:
var myList = ['a', 'A', 0]; _.sortBy(myList)
результаты в["A", "a", 0]
var myList = ['a', 'A', '_']; _.sortBy(myList)
результатов в["A", "_", "a"]
var myList = ['a', 'A', '.']; _.sortBy(myList)
результатов в[".", "A", "a"]
var myList = ['a', 'A', '']; _.sortBy(myList)
приводит["", "A", "a"]
Кажется, что т y лучший выбор на данный момент заключается в том, чтобы добавить {name: 'Default', sodtItem: ''}
, но есть ли другой символ/значение, которое обеспечит мне, что мой элемент по умолчанию является первым?
Редактировать
Вопрос заключается не в том, чтобы построить функцию сортировки; но вместо этого, какой символ имеет самое низкое «значение» в Javascript?
Другими словами, если вы берете список всех возможных символов (те, которые передают jsonification) и сортируют их - что будет первым персонажем?
Сортировать функции будут производит неожиданные результаты с одной и той же строкой. Используйте его осторожно. –
Можете ли вы отсортировать сначала и * затем * вставить элемент по умолчанию? – nnnnnn
Что персонаж должен сортировать первым? –