Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Javascript中的键值对_Javascript_Jquery - Fatal编程技术网

检查Javascript中的键值对

检查Javascript中的键值对,javascript,jquery,Javascript,Jquery,我有一个如下的业务场景 我正在添加一行可能的(键、值)对(国家、气候),如下所示 图2中给出了整个场景的有效和无效(键、值) 可能的键-所有国家、印度、澳大利亚、美国、英国 可能值-所有气候、炎热、干燥、多雨、寒冷、潮湿 比如说 如果(所有国家,所有气候)被选为第一对(英格兰,炎热),则不允许被选为第二对 如果(所有国家,hot)被选为第一对(印度,hot),则不允许被选为第二对 如果(美国,所有气候)被选为第一对(美国,炎热),则不允许被选为第二对 何处为 如果选择(印度,热)作为第一对(

我有一个如下的业务场景

我正在添加一行可能的(键、值)对(国家、气候),如下所示

图2中给出了整个场景的有效和无效(键、值)


可能的键-所有国家、印度、澳大利亚、美国、英国

可能值-所有气候、炎热、干燥、多雨、寒冷、潮湿


比如说

如果(所有国家,所有气候)被选为第一对(英格兰,炎热),则不允许被选为第二对

如果(所有国家,hot)被选为第一对(印度,hot),则不允许被选为第二对

如果(美国,所有气候)被选为第一对(美国,炎热),则不允许被选为第二对

何处为

如果选择(印度,热)作为第一对(印度,潮湿),则允许选择第二对

如果(美国,所有气候)被选为第一对(英国,所有气候),则允许选择第二对

如果选择(美国,所有气候)作为第一对(印度,潮湿),则允许选择第二对

图像1


图像2

问题 我已经通过Image2向我的同事解释了所有有效和无效的可能组合

在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
选择第二项时,使用“操作”确定该值是否已被选择(全部值或相同值)

范例

var firstCountry = 0xF
var secondCountry = 0x1
if ( (firstCountry & secondCountry) > 0)
{
    console.log("country is already choosen");
}

当然,此示例仅适用于一个属性。您应该为这两个属性更新它

您的意思是将
湿润
值设置为
10000
?@AJRichardson是的,对不起,每个属性都应该是不同的,并且所有属性都应该是它们的总和。