Javascript 映射函数将结果保存到对象
这就是我的回答Javascript 映射函数将结果保存到对象,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,这就是我的回答 data: [ { id: 3, name: "Oliver Green", email: "test@gmail.com", contacts: "09179878564" }, { id: 2, name: "Orval McLaughlin", email: "okoch@example.org", contacts: "0
data: [
{
id: 3,
name: "Oliver Green",
email: "test@gmail.com",
contacts: "09179878564"
},
{
id: 2,
name: "Orval McLaughlin",
email: "okoch@example.org",
contacts: "09083692343",
}
]
我使用map函数获取用户id和用户名,现在我要做的是将所有结果保存到一个对象
data(){
return {
autoComplete:{},
}
},
let vm = this;
response.data.data.map((user) =>
{
return vm.autoComplete = { [user.id] : user.name};
});
我得到了结果,但是我只得到了一个结果
autoComplete:Object
2:"Orval McLaughlin"
结果应该是
autoComplete:Object
3: "Oliver Green"
2: "Orval McLaughlin"
您需要从
map()
返回对象,而不是赋值的结果。您当前正在为每次迭代分配vm.autoComplete
。执行此操作后,可以将map
的输出分配给所需的变量:
let数据=[
{
id:3,
姓名:“奥利弗·格林”,
电子邮件:“test@gmail.com",
联系人:“09179878564”
},
{
id:2,
姓名:“奥瓦尔·麦克劳克林”,
电子邮件:“okoch@example.org",
联系人:“09083692343”,
}
]
让autoComplete=data.map((用户)=>{
返回{[user.id]:user.name};
});
console.log(autoComplete)
您需要从map()
返回对象,而不是赋值的结果。您当前正在为每次迭代分配vm.autoComplete
。执行此操作后,可以将map
的输出分配给所需的变量:
let数据=[
{
id:3,
姓名:“奥利弗·格林”,
电子邮件:“test@gmail.com",
联系人:“09179878564”
},
{
id:2,
姓名:“奥瓦尔·麦克劳克林”,
电子邮件:“okoch@example.org",
联系人:“09083692343”,
}
]
让autoComplete=data.map((用户)=>{
返回{[user.id]:user.name};
});
log(autoComplete)
请尝试此操作,不要将其包装到数组中
response.data.data.map((user) => {
return vm.autoComplete = Object.assign(vm.autoComplete, {[user.id] : user.name}); }
请尝试此操作,不要将其包装到数组中
response.data.data.map((user) => {
return vm.autoComplete = Object.assign(vm.autoComplete, {[user.id] : user.name}); }
似乎每个的自动完成都会被覆盖 也许你可以试试这些:
data(){
return {
autoComplete:{},
}
},
let vm = this;
vm.autoComplete = response.data.data.map((user) => {
return { [user.id] : user.name};
});
似乎每个的自动完成都会被覆盖 也许你可以试试这些:
data(){
return {
autoComplete:{},
}
},
let vm = this;
vm.autoComplete = response.data.data.map((user) => {
return { [user.id] : user.name};
});
好的,我已经得到了结果,但是有可能只成为对象吗?不按数组换行我的结果现在看起来像这样自动完成:数组[2]0:Object 1:Object这应该是自动完成:Object 3:“Oliver Green”2:“Orval McLaughlin”@初学者在这种情况下你应该使用
reduce
。查看编辑。好的,我已经得到了结果,但是是否可以成为对象?不按数组换行我的结果现在看起来像这样自动完成:数组[2]0:Object 1:Object这应该是自动完成:Object 3:“Oliver Green”2:“Orval McLaughlin”@初学者在这种情况下你应该使用reduce
。请参见编辑。