Javascript if 条件上的箭头函数意外标记
Javascript arrow function unexpected token on if condition
有人能告诉我这个箭头函数有什么问题吗?它抛出一个错误
unexpected token on begin of if condition
selected_devices
.map( device => if( device.device_id === device_id ) device.source = 'included' )
你好像忘了加这样的括号
selected_devices.map((device) => {
if (device.device_id === device_id) device.source =
'included'
return device
})
但你也可以像这样使用三元运算符
selected_devices.map((device) =>
device.device_id === device_id ? { ...device, device.source:
'included' } : device,
)
当你有一个 if
或其他不是单个语句的东西时你需要 {}
- 如果你想要 forEach 也不要使用 map 因为 map 创建一个不必要的数组然后你扔掉
selected_devices
.forEach(device => device.source = device.device_id === device_id ? 'included' : device.source)
或者也许
selected_devices
.filter( device => device.device_id === device_id)
.forEach(device => device.source = 'included')
有人能告诉我这个箭头函数有什么问题吗?它抛出一个错误
unexpected token on begin of if condition
selected_devices
.map( device => if( device.device_id === device_id ) device.source = 'included' )
你好像忘了加这样的括号
selected_devices.map((device) => {
if (device.device_id === device_id) device.source =
'included'
return device
})
但你也可以像这样使用三元运算符
selected_devices.map((device) =>
device.device_id === device_id ? { ...device, device.source:
'included' } : device,
)
当你有一个 if
或其他不是单个语句的东西时你需要 {}
- 如果你想要 forEach 也不要使用 map 因为 map 创建一个不必要的数组然后你扔掉
selected_devices
.forEach(device => device.source = device.device_id === device_id ? 'included' : device.source)
或者也许
selected_devices
.filter( device => device.device_id === device_id)
.forEach(device => device.source = 'included')