如何在 javascript 的 .map 函数中拆分嵌套的三元语句?
How to split up a nested ternary statement inside a .map function in javascript?
我有一个类似
的代码
obj.map((u) =>
u.members ? u.members : u.id ? u.id : u.member_id,
)
我需要将其拆分 b/c eslint 不喜欢嵌套的三元运算符。我从逻辑上知道它应该是这样的,但不确定映射函数中的语法是什么
.map((u) =>
if(u.members ){
u.members ;
}
else{
if(u.id){
u.id;
}
else{
u.member_id;
}
}
)
你可以使用像
这样的东西
.map((u) => {
if(u.members ){
return u.members ;
}
else if(u.id){
return u.id;
}
else{
return u.member_id;
}
});
由于 map 的回调函数已变为多行,您可以将其包装在 {}
中,因此可以像任何其他方法一样编写它,包括 return 语句。
你必须做以下事情:
- 用
{}
包裹箭头函数
- Return 来自函数的值
您的代码将类似于:
.map(u => {
if(u.members)
return u.members;
else if(u.id)
return u.id;
else
return u.member_id;
})
我有一个类似
的代码 obj.map((u) =>
u.members ? u.members : u.id ? u.id : u.member_id,
)
我需要将其拆分 b/c eslint 不喜欢嵌套的三元运算符。我从逻辑上知道它应该是这样的,但不确定映射函数中的语法是什么
.map((u) =>
if(u.members ){
u.members ;
}
else{
if(u.id){
u.id;
}
else{
u.member_id;
}
}
)
你可以使用像
这样的东西.map((u) => {
if(u.members ){
return u.members ;
}
else if(u.id){
return u.id;
}
else{
return u.member_id;
}
});
由于 map 的回调函数已变为多行,您可以将其包装在 {}
中,因此可以像任何其他方法一样编写它,包括 return 语句。
你必须做以下事情:
- 用
{}
包裹箭头函数
- Return 来自函数的值
您的代码将类似于:
.map(u => {
if(u.members)
return u.members;
else if(u.id)
return u.id;
else
return u.member_id;
})