爲什麼不這項工作:鏈式邏輯或比較
if (x != (a || b || c)) {
doStuff();
}
這意味着要檢查x是否不等於A或B或C。
編輯:我將如何實現檢查x是否不等於a或b或c?
編輯:好吧,它是重複的。我現在該做什麼,即使在意識到我的錯誤之後,還是會減分? :P
爲什麼不這項工作:鏈式邏輯或比較
if (x != (a || b || c)) {
doStuff();
}
這意味着要檢查x是否不等於A或B或C。
編輯:我將如何實現檢查x是否不等於a或b或c?
編輯:好吧,它是重複的。我現在該做什麼,即使在意識到我的錯誤之後,還是會減分? :P
像你想只是爲了使用倍數值:!!!
var x = 'x';
var a = 'a';
var b = 'b';
var c = 'c';
function doStuff() {
console.log(1)
}
// exemple 1
if(x == a || x == b || x == c) {
doStuff();
}
function isSameValue(element, index, array) {
return element === x;
}
// exemple 2
if([a, b, c].some(isSameValue)) {
doStuff();
}
// exemple 3
[a, b, c].includes(x);
您需要更好地理解逗號運算符的工作原理 – charlietfl
無論數值如何,這總是會返回'c'。這可能有所幫助:https://stackoverflow.com/questions/3561043/what-does-a-comma-do-in-javascript-expressions – Rajesh
對不起,我的第一個答案,當我把c === x陷入陷阱並運行。哈哈哈。 – joelbarbosa
如果(X應該是'== ||一個== X || b X = = c)'。你的表達意味着什麼,值可以是'a','b'或'c',這個值不應該等於'x'。作爲替代方案,您可以嘗試'[a,b,c] .indexOf(x)<0' – Rajesh
'(a || b || c)'將返回第一個真值變量,並在'!='之前求值 – charlietfl
' [a,b,c] .indexOf(x)<0' done:D –