2017-12-21 23 views
0

したがって、三項演算子に似ていますが、真偽チェックの左の値を返し、偽ならば右の値を返します。javascript条件が一致する場合はチェック値を返し、それ以外の場合は別の値を返します。

ここで私はそこではない(と私は何を意味するか明確にする)場合は行う予定何

function myTernary(leftValue, operator, condition, rightValue) { 
 
    let expression = `${leftValue} ${operator} ${condition}` 
 
    let result = eval('('+expression+')') 
 
    return result ? leftValue : rightValue 
 
} 
 

 
// leftValue is returned if the condition is truthy, otherwise rightValue 
 

 
console.log(myTernary(1 + 2 + 3 + 4, "<", 12, 12))

evalは、クライアント側で実行されますので...それはする必要がありますクライアントは任意にWebコンソールを開き、とにかく必要なものを入力するだけでよいからです。

+2

'leftValue ===条件? leftValue:rightValue'はそれだけです... –

+0

あなたは 'を求めていますか?条件:そうでなければ '?いいえ、それは不可能です。単にオペランドの順序を変更してください。 – Bergi

+0

'eval'を使用しなかった場合、あなたの例はより明確になるかもしれません。 – Bergi

答えて

0

あなたは||演算子を使用することができます...

console.log(1!=2||5) 
 
console.log(1==2||5)

+0

私は本当か偽を望んでいない、私はACTUAL値が欲しいです。私は実際に少し明確になるように例を変更します。 –

関連する問題