我有一个JavaScript函数,但它没有返回我期望的结果。我正在尝试确定一个x,y点是否存在于基于另外2个x,y点的矩形中。在我的代码中,x和y是问题中原始的点。z1和z2是矩形的左上角坐标,z3和z4是右下角坐标。
function isInside(x,y,z1,z2,z3,z4){
x1 = Math.min(z1, z3);
x2 = Math.max(z1, z3);
y1 = Math.min(z2, z4);
y2 = Math.max(z2, z4);
if ((x1 <= x <= x2) && (y1 <= y <= y2)) {
console.log (x1 + "," + x + "," + x2);
console.log (y1 + "," + y + "," + y2);
return true;
} else {
return false;
};
};
如果我运行isInside(110,175,50,50,100,100)函数,结果会返回true。这是意外的,因为点(110,175)并不存在于矩形(50,50)和(100,100)之内。希望能得到帮助。
(50 <= 117 <= 100)
的计算结果为(true <= 100)
- 这将返回 true。 - MildlySeriousx1<=x
和x<=x2
周围加上括号。虽然不应该必要。 - John Dvorak