我有三个数字,我试图比较其中两个数字是否包含其中一个。
let myMonthly = this.profile.expectedpayhourlystart +
this.profile.expectedpayhourlyend;
myMonthly = ((((myMonthly/2)*8)*5)*4);
let jobStart = item.monthlyPrice - 200;
let jobEnd = item.monthlyPrice + 200;
if( jobEnd < myMonthly < jobStart ){ <-- 'Operator < cannot be applied to boolean or number'
}
为什么我会收到此错误?我应该改变什么?
答案 0 :(得分:3)
jobEnd < myMonthly
的计算结果为true或false。 因此,如果您写:
if( jobEnd < myMonthly < jobStart)
它本质上是试图评估
if( true < jobStart )
正在将<运算符应用于布尔值,因为jobStart是一个数字。
您需要这样写:
if( jobEnd < myMonthly && myMonthly < jobStart )
答案 1 :(得分:0)
如果像这样堆叠<运算符,它将对jobEnd < myMonthly
求值,它会得到一个布尔值,并将结果与作为数字的jobStart
进行比较。使用&&
就像
if (jobEnd < myMonthly && myMonthly < jobStart)