如何在不使用开关的情况下返回值,以及在javascript中是否返回

问题描述 投票:0回答:1

我是新来的反应者。在这里,我有一个具有一些预定义值的对象。喜欢

{
  evalues: {

   status: {
         "statusVal": {
        "pre": "PRE",
        "buy": "BYE",
        "close": "CLOSE",
      }

   }

  }

}

现在,在这里

我有一些图标要显示。现在根据我正在尝试的价值观返回图标。

const getIcons = (givenStatus) => {

  let close =  config?.appConfig?.evalues?.status?.statusVal
        .close
 let buy =  config?.appConfig?.evalues?.status?.statusVal
        .buy
let pre =  config?.appConfig?.evalues?.status?.statusVal
        .pre
  if(givenStatus === close) {
   return 'yello'
}  else if(givenStatus === buy)
    return 'grenn'
} else if(givenStatus === pre) {
   return 'red'
}

现在,还有其他方法可以做到这一点。使用loadsh

javascript reactjs lodash
1个回答
0
投票

我们可以使用对象分解来在一个语句中全部获得buyclosepre。使用您当前的代码,这可能看起来很干净:

const getIcons = status =>
{
    const { buy, close, pre } = config.appConfig.evalues.status.statusVal

    if (status === buy)
        return 'green'
    if (status === close)
        return 'yellow'
    if (status === pre)
        return 'red'
}

尽管可以保证这些值,但您可以使用switch语句代替:

const getIcons = status =>
{
    const { buy, close, pre } = config.appConfig.evalues.status.statusVal

    switch (status)
    {
        case 'BUY':   return 'green'
        case 'CLOSE': return 'yellow'
        case 'PRE':   return 'red'
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.