вернуть объект с ключом и значением, используя карту - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть ответ, который должен вернуть объект с указанным ключом и значением, используя карту

Я пытался

response.data.data = response.data.data.map((user) =>{
  return console.log({ user.id : user.name});
});

Но выдает ошибку из-за user.id

как мне установить ключ, полученный из ответа?

это мой ответ на данные

data: [
{
    id: 2,
    name: "Orval McLaughlin",
    email: "okoch@example.org",
    contacts: "09083692343",
    created_at: "2018-09-05 15:08:54",
    updated_at: "2018-09-05 15:08:54",
    deleted_at: null
}
],

Я использую тег ввода vue js, где мне нужны данные для привязки в подпорке. как это

{2: Orval McLaughlin}

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Чтобы получить результаты, как

{2: Orval McLaughlin}

вы хотите вычисленное имя свойства:

return { [user.id] : user.name};

Обратите внимание, что return console.log(somValue) всегда возвращает неопределенное значение

0 голосов
/ 05 сентября 2018

console.log() возвращает undefined, поэтому ваше текущее решение дает массив всех undefined с. Вместо этого вам следует вернуть нужный объект:

response.data.data = response.data.data.map((user) =>{
  return { [user.id] : user.name};
});

Обратите внимание, что для оценки переменной вам также необходимо заключить ключ идентификатора пользователя в квадратные скобки.

0 голосов
/ 05 сентября 2018

Нет смысла использовать return console.log(whatever) внутри вашей функции отображения, потому что так как он всегда будет возвращать undefined .map() создаст массив undefined записей:

let users = [{ id: 1, name: "r2d2" }]

let arr = users.map(user => console.log({ id: user.id, name: user.name}))

console.log(arr);

Вместо этого измените вашу функцию отображения на это:

let users = [{
    id: 2,
    name: "Orval McLaughlin",
    email: "okoch@example.org",
    contacts: "09083692343",
    created_at: "2018-09-05 15:08:54",
    updated_at: "2018-09-05 15:08:54",
    deleted_at: null
}]

let arr = users.map(user => ({ [user.id]: user.name }))

console.log(arr);

Чтобы создать свойство для объекта, имя которого у вас есть в переменной propName, используйте обозначение в квадратных скобках:

let user = { [propName]: value }

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

console.log(user[propName]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...