下面的切换声明有什么问题?错误在...... key: data}
??
__normalizer = (data) => {
if(data){
switch(data) {
case 'promo':
{name: 'Promotion', key: data}
break
default:
data
}
}
return data
}
答案 0 :(得分:1)
Switch/case不会分配或返回任何内容。您的目的是创建并返回一个对象,但您不能分配或返回它。正如torazaburo comment中所述,您实际拥有的是code block语法错误。
您需要返回对象,或将其指定给变量。此外,如果数据落在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;
}
答案 1 :(得分:0)
您需要做的就是添加"返回"之前" {名称:'促销',关键:数据}"和"数据"。
答案 2 :(得分:-1)
您需要在if
的末尾返回。并为每个案例结果分配data
。
__normalizer = (data) => {
if (data) {
switch (data) {
case 'promo':
data = {
name: 'Promotion',
key: data
};
break;
default:
data = data
}
return data
}
}
console.log(__normalizer('promo'))