как заменить нулевые значения из базы данных пустой строкой в ​​цепочке для функций - PullRequest
0 голосов
/ 26 апреля 2019

Я использую lodash и у меня есть этот код прямо сейчас

data: _(responseData.data)
     .pick(['title', 'layout', 'slug', 'author', 'seo', 'css', 'js'])
     .mapKeys((value, key) => _.camelCase(key))
     .value()

Некоторые значения могут быть возвращены из базы данных как нулевые.Я хотел бы заменить пустые значения пустой строкой -> '', но я не уверен, как связать другую функцию с указанной выше цепочкой.

Ответы [ 2 ]

1 голос
/ 26 апреля 2019

Используйте _.mapValues() для итерации значений и проверьте с помощью _.isNull(), является ли значение null.

Примечание: , если вы также хотите обработать значения undefined, замените _.isNull() на _.isNil().

const responseData = {
  data: {
    'title': 'title',
    'layout': null,
    'slug': null,
    'author': 'author',
    'seo': 'seo',
    'css': 'css',
    'js': 'js'
  }
}

const data = _(responseData.data)
  .pick(['title', 'layout', 'slug', 'author', 'seo', 'css', 'js'])
  .mapKeys((value, key) => _.camelCase(key))
  .mapValues(value => _.isNull(value) ? '' : value)
  .value()

console.log(data)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
0 голосов
/ 26 апреля 2019

Вы можете использовать || Оператор

_((responseData && responseData.data) || {})
     .pick(['title', 'layout', 'slug', 'author', 'seo', 'css', 'js'])
     .mapKeys((value, key) => _.camelCase(key))
     .value()
...