Javascript switch语句中的return对象获得意外标记,
我下面的switch语句有什么问题?错误在<代码>键:数据}Javascript switch语句中的return对象获得意外标记,,javascript,Javascript,我下面的switch语句有什么问题?错误在键:数据} __normalizer = (data) => { if(data){ switch(data) { case 'promo': {name: 'Promotion', key: data} break default: data } }
__normalizer = (data) => {
if(data){
switch(data) {
case 'promo':
{name: 'Promotion', key: data}
break
default:
data
}
}
return data
}
不分配或返回任何内容。您的意图是创建并返回一个对象,但不指定或返回它。正如您实际拥有的是一个带有语法错误的
您需要返回对象,或将其分配给变量。此外,如果数据通过promo
案例,您还需要返回数据
__normalizer = (data) => {
if(data){
switch(data) {
case 'promo':
return { name: 'Promotion', key: data };
}
}
return data;
}
通过移除开关/外壳,您可以轻松简化代码:
__normalizer = (data) => {
if (data === 'promo') {
return { name: 'Promotion', key: data };
}
return data;
}
您需要在
if
的末尾返回,并为每个案例结果分配数据
\uuu规范化器=(数据)=>{
如果(数据){
交换机(数据){
“促销”案例:
数据={
名称:"推广",,
关键词:数据
};
打破
违约:
数据=数据
}
返回数据
}
}
console.log(uu normalizer('promo'))
您需要做的就是在“{name:'Promotion',key:data}”和“data”之前添加“return”。也许您的意思是返回{name:'Promotion',key:data}
您必须返回希望从函数中获取的任何值,或者将其分配给变量,然后把它还给我。@OriDrori。你的开关箱没有关上properly@OriDrori.你的开关箱没有break@prasad-它不需要中断。我回来了。不,在他的代码中,他没有创建对象;他用{
开始一个代码块,然后事情就从那个里走下坡路了。