比较两个不同对象的值
Comparing the values of two different objects
我有两个对象。
"Initial": {"LF_Min": --,
"LF_Max": --,
"RF_Min": --,
"RF_Max": --};
"Result":{"LF_Status":--,
"RF_Status":--};
我必须检查Result.LF_Status
的值是否在Initial.LF_Min
和Initial.LF_Max
的范围内。
如何在JavaScript中检查此条件?
假设对象中的属性类型为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
}
希望这能有所帮助!
请参阅: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));
首先,没有"JSON对象"这回事——如果你有两个对象的JSON表示,它们基本上是可以解析为Javascript对象的字符串文本。一旦您将它们解析为javascript对象(使用object = JSON.parse(string)
),您就可以用标准的方式对它们进行操作,即使用2个比较来断言结果的值在所需的范围内。
相关文章:
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 正在更新mongod中两个对象内部的数组
- 添加两个对象以获取值的总和
- 如何使用javascript合并两个对象数组
- 别名或以其他方式合并两个具有不同名称的相同对象原型
- 如何对两个嵌套对象进行排序
- 在JavaScript中相等两个对象.在更改一时,秒会自动更改
- js字符串转换为具有两个值的对象
- 如何使用AngularJs比较两个对象的JSON
- jQuery对象从html表中查询为两个一维数组,用于Chartist图表
- 交换对象上两个属性的值
- Backbone relational无法实例化两个RelationalModel对象
- 如何在javascript中合并两个对象数组
- 删除两个独立对象中的属性,而不使用多余的删除语句
- JavaScript - 合并两个对象数组并根据属性值删除重复数据
- 有可能让两个变量指向同一个对象吗?(javascript)
- 使用Javascript对象为具有两个背景图像的DIV设置样式时出现问题
- 如何在Javascript中连接两个结构不同的对象
- 如何使用jQuery合并两个json对象
- 如何按对象两个值对对象数组进行排序