JavaScript减去两个变量之间的计算

时间:2015-01-16 12:45:07

标签: javascript arrays

基本上我试图比较传入的坐标是否与数组列表中的项匹配。所以我有一个名为busList的数组,其数组项采用以下格式:

27794.27939,43930.90485

然后我试图循环通过数组来比较我传入的坐标。我传入的坐标是两个变量:coordx和coordy。

for(var i = 0; i < busList.length; i++){
    var parts = busList[i].split(",");
    buslocX = parts[0];
    buslocY = parts[1];

    if((coordx - buslocX < 0.0050) && (coordy - buslocY < 0.0050)){
        console.log(coordx - buslocX);
    }
}

如果coordx - 数组中的x坐标小于0.0050以及y,那么我将执行其他操作。使用这些代码,我试图打印减号的结果,但我在控制台中没有得到任何东西。

有什么想法吗?提前谢谢。

简而言之,我试图检查coordx,coordy是否匹配数组中的任何项目。但是对于coordx会有一些细微的差别,例如0.0050,与数组项目一致。例如,我得到了一个数组坐标列表:

27794.27939,43930.90485
27539.43390,43422.26042

我传入的coordx是27794.27920,coordy是43930.90480。因为coordx和coordy都比数组中的第一项小于0.0050,所以我将执行其他操作。

2 个答案:

答案 0 :(得分:2)

您是否尝试将buslocXbuslocY转换为float类型?

buslocX = parseFloat(parts[0]);
buslocY = parseFloat(parts[1]);

split方法将 string 转换为字符串的数组,在这种情况下,计算可能会出乎意料。

答案 1 :(得分:0)

尝试使用

var parts = busList[i].split(".");

代替

var parts = busList[i].split(",");