假设我有两个名为value1和value2的变量。这些值将由用户输入,但只是假装它们已经存在并且这些值是值
var value1 = 5;
var value2 = 7;
var comparison = .785
我只想比较值加上或减去比较,所以当代码显示输出时,它只显示5 +或 - .785和7 +或减去.785
的值对于某些上下文,以下代码是来自json对象的拉取信息,该对象具有两个单独的数字列表,可以说number1和number2以及大量其他信息,但不要担心任何这些,一切正常
$("#createlist").click(function() {
var value1 = Number($("#value1").val());
var value2 = Number($("#value2").val());
var comparison = .785
$.getJSON("get_divvy_data.php", null, function(data) {
var total_bikes_available = 0;
$("#stationtable .stationrow").remove();
$.each(data.stationBeanList, function(index, station) {
下一部分是我遇到问题的地方。
if( station.number1 is <= value1 + - comparison && station.number2 is <= value2 + - comparison) {
//do something
}
我只是不知道如何有效地编写if语句和比较。
答案 0 :(得分:7)
一种可能的方法:
if (Math.abs(value1 - station.number1) <= comparison
&& Math.abs(value2 - station.number2) <= comparison) {
//...
}
...但要注意浮动数学缺陷导致的边缘情况。例如:
var value = 0.9;
var reference = 0.7;
var delta = 0.2;
console.log(value - reference <= delta); // false