сгладить, чтобы извлечь ошибки из объекта - PullRequest
0 голосов
/ 28 января 2019

Как мне преобразовать такой список в сглаженный массив сообщений об ошибках:

 "errors": {
    "Client": [
      "User client does not exist"
    ],
    "Password": [
      "User password has to have more than 6 characters",
      "The password and confirmation password do not match."
    ],
    "ConfirmPassword": [
      "Confirm Password has to have more than 6 characters"
    ]
  },

пробовал var arr = _.toArray(data.errors);, но он не сглаживает объекты, которые имеют несколько элементов в массиве.

1 Ответ

0 голосов
/ 28 января 2019

Lodash

Используйте _.values() (или _.toArray()), чтобы получить массив массивов сообщений об ошибках, и _.flatten() для преобразования в один массив.

const errors = {"Client":["User client does not exist"],"Password":["User password has to have more than 6 characters","The password and confirmation password do not match."],"ConfirmPassword":["Confirm Password has to have more than 6 characters"]}

const result = _.flatten(_.values(errors))

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>

Vanilla JS

Используйте Object.values(), чтобы получить массив массивов сообщений об ошибкахи Array.flat() для преобразования в один массив

const errors = {"Client":["User client does not exist"],"Password":["User password has to have more than 6 characters","The password and confirmation password do not match."],"ConfirmPassword":["Confirm Password has to have more than 6 characters"]}

const result = Object.values(errors).flat()

console.log(result)
...