比较两个不同对象的值

时间:2015-02-24 12:35:45

标签: javascript

我有两个对象。

"Initial": {"LF_Min": --,
          "LF_Max": --,
          "RF_Min": --,
          "RF_Max": --};

"Result":{"LF_Status":--,
          "RF_Status":--};

我必须检查Result.LF_Status的值是否在Initial.LF_MinInitial.LF_Max范围内。

如何在JavaScript中检查此情况?

3 个答案:

答案 0 :(得分:2)

假设对象中的属性属于Number

function validate(initial, result) {
  return
    result.LF_Status >= initial.LF_Min &&
    result.LF_Status <= initial.LF_Max;
}

当我广泛检查范围限制时,我觉得扩展Number原型是很有用的:

Number.prototype.isInRange = function(min, max) {
  return this >= min && this <= max;
}

定义此扩展后,您可以更简洁的方式实现对象验证:

if(Result.LF_Status.isInRange(Initial.LF_Min, Initial.LF_Max)) {
  // Your code here
}

希望这有帮助!

答案 1 :(得分:1)

请参阅:http://jsfiddle.net/dwboy657/

Initial={"LF_Min": "10", "LF_Max": "20", "RF_Min": "30", "RF_Max": "50"};
Result={"LF_Status":"21", "RF_Status":"4"};

function checkRange(compareObj,resultObj){
    if(resultObj.LF_Status>=compareObj.LF_Min && resultObj.LF_Status<=compareObj.LF_Max)
    {
       return true;
    }else{
         return false;
    }

}

alert('Result LF is within range: '+checkRange(Initial,Result));

答案 2 :(得分:-1)

首先,没有“JSON对象”这样的东西 - 如果你有两个对象的JSON表示,它们基本上是可以解析为Javascript对象的字符串文字。一旦将它们解析为javascript对象(使用object = JSON.parse(string)),就可以用标准方式对它们进行操作,即。使用2次比较来断言结果的值在期望的范围内。