Vielleicht verstehe ich die ternäre Operation aber nicht
Wenn ich recht habe, ist es
test ? true : false
Das sollte also geben
function toto(x, y)
{
return (x > 0 ? x < 7 ? true : false : false &&
y > 0 ? y < 6 ? true : false : false)
}
Wahr nur wenn 0
Aber wenn ich es mache
toto(4,6)
Es gibt wahr zurück, warum? Was vermisse ich ?
0
Bobby
18 Apr. 2018 im 09:23
4 Antworten
Beste Antwort
Mach einfach so:
function toto(x, y)
{
return (x > 0 ? x < 7 ? true : false : false ) &&
( y > 0 ? y < 6 ? true : false : false)
}
Mit der Klammer vor und nach exp1 und exp2 und ja, es ist ein bisschen unlesbar ^^
bearbeiten: würde ich auch tun
return (x > 0 && x < 7) && (y > 0 && y < 6)
1
Crocsx
18 Apr. 2018 im 06:33
Sie benötigen eslint
, um Ihren Code zu formatieren. Dies ist der formatierte Code. Siehe:
function toto(x, y) {
return x > 0
? x < 7
? true
: false
: false && y > 0
? y < 6
? true
: false
: false
}
Bild:
Ich denke, es ist leichter zu verstehen
1
xianshenglu
18 Apr. 2018 im 06:27
Versuchen Sie nicht, dies zu erreichen? prüfen, ob x
von 0..7 und y
von 0..6 ist?
function toto(x, y)
{
return (x > 0 && x < 7) && (y > 0 && y < 6 );
}
0
Ludovit Mydla
18 Apr. 2018 im 06:31
Operator-Vorrang, der sich hier darauf auswirkt
function toto(x, y)
{
return ((x > 0 ? x < 7 ? true : false : false) && (y > 0 ? y < 6 ? true : false : false))
}
0
crack_iT
18 Apr. 2018 im 06:44