Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript switch语句中的return对象获得意外标记,_Javascript - Fatal编程技术网

Javascript switch语句中的return对象获得意外标记,

Javascript switch语句中的return对象获得意外标记,,javascript,Javascript,我下面的switch语句有什么问题?错误在键:数据} __normalizer = (data) => { if(data){ switch(data) { case 'promo': {name: 'Promotion', key: data} break default: data } }

我下面的switch语句有什么问题?错误在<代码>键:数据}

__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-它不需要中断。我回来了。不,在他的代码中,他没有创建对象;他用
{
开始一个代码块,然后事情就从那个里走下坡路了。