【发布时间】:2019-09-23 19:07:48
【问题描述】:
以下条件运算符未按预期工作 我已将条件包含在基于场景中。
如果没有 src 或 tar 匹配,应该是 rate=0
如果 src 存在于 arr 并且是 SGD 并且 src 存在于 arr 并且是 SGD(反之亦然),则比率为 0.4
如果 src 存在于 arr 并且是 "EUR" || "GBP" || "USD" 并且 tar 存在于 arr 并且是 "SGD",(反之亦然),则比率为 0.3
如果arr 中存在src,arr 中存在tar,则速率应为0.5
场景:
(src==="SGD" and tar==="AUD") or (src==="AUD" && tar==="SGD") => rate="0.4"
src === "SGD") and (tar === "EUR" or "GBP" or "USD") => rate=0.3
(src==`arr` values and tar==`arr` values)=> rate=0.5
(src no match arr && tar no match arr)=> rate=0
var arr =["AED","BGN","CAD","CHF","CZK","DKK","HKD","HUF","ILS","INR",
"JPY","MXN","NOK","NZD","PLN","QAR","RON","SAR","SEK","THB","TRY","ZAR"];
I tried , but not working if src="SGD" and tar="CNY" it should rate =0
var res=
((src === "SGD" && tar === "AUD") || (src === "AUD" && tar === "SGD"))?
rate = 0.4 :
((src === "SGD" && (tar === "EUR" || "GBP" || "USD")) ||
((src === "EUR" || "GBP" || "USD") && tar === "SGD"))?
rate = 0.3:
(src.indexOf(arr)!=-1 && tar.indexOf(arr)!=-1) ?
rate = 0.5 :
rate=0;
【问题讨论】:
-
这不是写条件的正确方法:
(tar === "EUR" || "GBP" || "USD"))。这将始终评估为 true。 -
您不需要在三元操作数中嵌套赋值。你可以做
var res = cond ? 0.4 : so on
标签: javascript jquery arrays object conditional