ES6数组映射的javascript语法错误哈希
这是一个愚蠢的问题,但我只是停留在这里 前提ES6数组映射的javascript语法错误哈希,javascript,ecmascript-6,Javascript,Ecmascript 6,这是一个愚蠢的问题,但我只是停留在这里 前提 let groups = [ {id: 1, name: '123'}, {id: 2, name: '456'} ] 我想输出这个 [ {value: 1, label: '123'}, {value: 2, label: '456'} ] 我不明白为什么会出错 groupOptions = groups.map(item => {value: item.id, label: item.name} ) 将返回的对象包
let groups = [
{id: 1, name: '123'},
{id: 2, name: '456'}
]
我想输出这个
[
{value: 1, label: '123'},
{value: 2, label: '456'}
]
我不明白为什么会出错
groupOptions = groups.map(item =>
{value: item.id, label: item.name}
)
将返回的对象包装到
()
中。在我们的()
中,花括号将被视为箭头函数的主体,在主体内部,表达式无效
let组=[
{id:1,名称:'123'},
{id:2,名称:'456'}
]
var groupOptions=groups.map(项=>
({value:item.id,label:item.name})
);
console.log(groupOptions)代码>
let组=[
{id:1,名称:'123'},
{id:2,名称:'456'}
]
var输出=groupOptions=groups.map(项=>
{返回{值:item.id,标签:item.name}
)
控制台日志(输出)
如果您对映射
回调的项
参数进行分解,则会更干净一些:
let groups = [
{id: 1, name: '123'},
{id: 2, name: '456'}
]
var output = groupOptions = groups.map(({id,name}) =>
({value:id, label:name})
);
// or you can do the mapping right in the arguments:
var output = groupOptions = ggroups.map(({id:value,name:label}) =>
({value, label})
);
你忘了在箭头后面的地图里加括号了。!谢谢你的解释。谢谢,但是似乎没有必要返回吗?谢谢你的回答,但是我希望它更简单。