我想找到两点之间的距离。
这是我的距离函数。
var distance = function(first, second) {
var midValue = first - second;
midValue *= midValue;
return Math.sqrt(midValue);
}
这就是我所说的距离函数。
xDist += distance(locations[i].x, students[j][0]);
当我看到xDist的值时,我得到了NaN。我隐含地查看了位置和学生的价值,他们都是数字。此外,在距离函数中,我在返回之前查看了 Math.sqrt(midValue)的值,它是一个数字。
答案 0 :(得分:1)
我的猜测是locations[i].x
或/和students[j][0]
是undefined
因为undefined
上的算术运算,或者可能首先不是数字,因此总是输出NaN
答案 1 :(得分:1)
您需要指定xDist = 0的初始值,否则它将是未定义的。 undefined + 10 = NaN
你可以试试这个
var distance = function(first, second) {
var midValue = first - second;
midValue *= midValue;
return Math.sqrt(midValue);
}
var xDist=0;
xDist += distance(locations[i].x, students[j][0]);
alert(xDist);
答案 2 :(得分:-1)
虽然看起来数字似乎总是不是数字。所以最好做一个parseInt。
var distance = function(first, second) {
var midValue = parseInt(first) - parseInt(second);
midValue *= midValue;
return Math.sqrt(midValue);
}