#javascript #vue.js
Вопрос:
Я получаю следующие данные в своем ответе в api
email: Array(1)
0: "The email has already been taken."
length: 1
__ob__: Observer {value: Array(1), dep: Dep, vmCount: 0}
[[Prototype]]: Array
first_name: Array(1)
0: "The first name field is required."
length: 1
__ob__: Observer {value: Array(1), dep: Dep, vmCount: 0}
[[Prototype]]: Array
Как я мог создать такой объект
errors = [{'email':"The email has already been taken."}]
Я попробовал что-то вроде этого
const object1 = {};
let object = this.registerErrors;
for(var key in object){
object1 = Object.assign({key : object[key]})
}
console.log(object1)
Ответ №1:
Попробуйте, как в следующем фрагменте :
const registerErrors = {
email: ["The email has already been taken."],
first_name: ["The first name field is required."]
}
let object1 = {};
let object = registerErrors;
for(key in object){
object1[key] = object[key]
}
console.log(object1)
Комментарии:
1. Теоретически мой объект поставляется с ключом, а затем он имеет индекс 0, который обращается к указанному в нем значению
Ответ №2:
Попробуй это
// Assuming that your error response obj is like
const registerErrors = {
email: ["The email has already been taken."],
first_name: ["The first name field is required."]
}
let errors = {};
Object.keys(registerErrors).forEach(key => {
errors[key]=registerErrors[key][0];
});
console.log(errors);
Комментарии:
1. (5) [{…}, {…}, {…}, {…}, {…}] 0: электронная почта: Массив(1) 0: «Электронное письмо уже принято». длина: 1 ob : Наблюдатель {значение: Массив(1), dep: Dep, количество виртуальных машин: 0} [[Прототип]]: Массив [[Прототип]]: Объект тот же
2. Что это за комментарий, который вы добавили?
3. Разверните массив и проверьте!
4. Это то, о чем ты просил
5. Я хотел бы, чтобы значения, которые я сейчас получаю от воды, имели тип ключа и значения. То есть электронная почта должна иметь свою ценность. Теоретически, теперь я получаю данные из воды, как я дал выше. Объект, который все еще имеет индекс 0, имеющий значение.