lodash orderBy проблемы при попытке сделать его нечувствительным к регистру - PullRequest
2 голосов
/ 17 октября 2019

Я написал это orderBy условие для закорачивания массива объектов, и оно отлично работает, если только значение, которое я пытаюсь отсортировать, не равно нулю. Ниже вы можете увидеть мой код:

if (this.state.sortType === 'name asc'){
  medias = _.orderBy(medias,[media  => _.get(media,'metadata.title').toString().toLowerCase() ] , 'asc')
} else if (this.state.sortType === 'name desc'){
  medias = _.orderBy(medias, [media  => _.get(media,'metadata.title').toString().toLowerCase()], 'desc')
}

Когда media.metadata.title равен null, выдает эту ошибку:

Невозможно прочитать свойство 'toString' из неопределенного

Есть идеи?

1 Ответ

1 голос
/ 17 октября 2019

Почему бы не принять значение по умолчанию _.get, как пустую строку, если метаданные отсутствуют в медиа-объекте.

_.get(object, path, [defaultValue])
_.get(media,'metadata.title', '').toString()
...