ryuryu1010
@ryuryu1010

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

javascript複雑な条件分岐

質問です!
例えばの話なのですが、colorのところの条件分岐を変更したいです。
下記のように4つの条件があるときに動的にcolorの値を代入したい場合はどのようにすればよいでしょうか?
ちなみに、A ? B :C ? C :D(このような方法は使用したくないです)
Functionとかを使用してreturnの値を変更したいです。


const A = data.name==="A" => red
const B = data.name==="B" => blue
const C = data.name==="C" => green
const D = data.name==="D" => white

style={color:?????}
0

2Answer

オブジェクトにしておくといいのでは?

const COLORS = { A: red, B: blue, C: green, D: white }

style={color: COLORS[data.name]}
1Like

ちなみに、A ? B :C ? C :D(このような方法は使用したくないです)

こちらで問題な理由がわかってないですが,
function の内部に ifswitch を書くことはできそうです.

具体的に問題点ややりたくないことがわかると,もう少し何かマッチしたことが
答えられるかもしれません.

const color = ((name) => {
  if (name === "A") {
    return red
  } else if (name === "B") {
    return blue
  } else if (name === "C") {
    return green
  } else if (name === "D") {
    return white
  } else {
    return default_color
  }
})(data.name)

style = { color: color }
0Like

Your answer might help someone💌