![](/img/trans.png)
[英]Checking if a Javascript object contains the same key/value pairs as another
[英]Checking Key Value Pairs in Javascript
我有一个商业场景如下。
我正在添加可能(键,值)对的行。(国家,气候)如下所示。
在图2中,给出了整个场景Valid和Invalid(Key,Value)。
可能的钥匙 - 所有国家,印度,澳大利亚,美国,英国
可能的价值观 - 所有气候,炎热,干燥,多雨,寒冷,潮湿
例如
if(All Country,All Climate)被选为第一对(英格兰,热门)不应该被选为第二对
如果选择(所有国家/地区,热门)作为第一对(印度,热)不应该被选为第二对
如果选择(America,All Climate)作为第一对(America,Hot),则不应该选择第二对
在哪里
如果选择(印度,热)作为第一对(印度,潮湿),则允许选择第二对
如果选择(America,All Climate)作为第一对(英格兰,All Climate),则应选择第二对
如果选择(America,All Climate)作为第一对(印度,潮湿),则允许选择第二对
图片1
图2
问题我通过Image2向My Colleague解释了所有有效和无效的可能组合。
在javascript中,最简单的解决方案是添加if else语句并完成它。通过这样做,我解释的用于解决纸张和代码中的业务场景的问题之间的差距扩大了。
将纸张中的矩阵转移到代码中的最佳实施方式是什么,因此纸张和代码中的业务关系密切。
这个问题可能听起来含糊不清,但我们至少曾经遇到过这样的问题,即用纸张解决问题的方式以及用代码解决问题的方式都没有意义。
使用二进制算术。
国家价值观
India 0001
Australia 0010
America 0100
England 1000
All Country 1111
气候价值
Hot 00001
Dry 00010
Rainy 00100
Cold 01000
Humid 10000
All Climate 11111
当您选择第二项时,使用AND操作来确定是否已选择该值(全部或相同的值)。
例
var firstCountry = 0xF
var secondCountry = 0x1
if ( (firstCountry & secondCountry) > 0)
{
console.log("country is already choosen");
}
当然,此示例仅适用于一个属性。 您应该为两个属性更新它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.