比较javascript中的两个值是错误的

时间:2016-10-11 03:41:23

标签: javascript arrays comparison

我尝试比较一些数组值,我需要获取对象属性的次要值,但我有下一个错误。

这是我的代码:

//JavaScript

var minValue = data.freight[0].localPrice;

    console.log(minValue);

    for (var i = 0; i < data.freight.length; i++) {

        console.log('----------');
        console.log(minValue);
        console.log('>');
        console.log(data.freight[i].localPrice);
        console.log('----------');

        if (minValue > data.freight[i].localPrice) {

            minValue = data.freight[i].localPrice;

            console.log('verdadero');

         }else{

            console.log('falso');

         }
      }

这是输出:

Why 4.27 > 160.02 it´s true?

为什么选择4.27&gt; 160.02这是真的吗?

1 个答案:

答案 0 :(得分:0)

可以推测localPrice是一个字符串。因此,您应该使用parseFloat()来获取浮点值并在比较时获得预期结果。

var minValue = parseFloat(data.freight[0].localPrice);

if陈述中:

if (minValue > parseFloat(data.freight[i].localPrice)) {

    minValue = parseFloat(data.freight[i].localPrice);

    console.log('verdadero');

}