Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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,我在我的项目中使用javascript,我是一个新手。我有一个场景,我想为我的组件实现一个Status属性。此状态属性从可用状态列表中显示我的组件的当前状态。例如: 我以这种方式实施: 但我觉得应该有其他更好的方法来解决这个问题。这种逻辑依赖于数组项的顺序,如果数组顺序发生变化,将来可能会出现问题。我有另一个逻辑通过使用命名数组来实现这一点。但是我不知道怎么做 有谁能给我一个更好的建议来实施这种情况吗???怎么样?您可以在指定给状态的字典中存储更多信息,例如“can_receive_messag

我在我的项目中使用javascript,我是一个新手。我有一个场景,我想为我的组件实现一个Status属性。此状态属性从可用状态列表中显示我的组件的当前状态。例如:

我以这种方式实施:

但我觉得应该有其他更好的方法来解决这个问题。这种逻辑依赖于数组项的顺序,如果数组顺序发生变化,将来可能会出现问题。我有另一个逻辑通过使用命名数组来实现这一点。但是我不知道怎么做


有谁能给我一个更好的建议来实施这种情况吗???

怎么样?您可以在指定给状态的字典中存储更多信息,例如“can_receive_messages”


怎么样?您可以在指定给状态的字典中存储更多信息,例如“can_receive_messages”


听起来您想使用
开关
语句:


听起来您想使用
开关
语句:

按其名称编制索引(如果名称足够唯一):

这是假设以后状态对象或处理该数据的函数中还有更多信息。如果您只想存储一个字符串,可以这样做:

var availableStatus = {
                      visible : {},
                      hidden : {}, 
                      deny : {}, 
                      allow : {}, 
                      destroy : {}
                     };
并具有相同的功能。

按名称为它们编制索引(如果名称足够唯一):

 var availableStatus ={};

                        availableStatus.['visible']='visible';
                        availableStatus.['hidden']= 'hidden';
                        availableStatus.['deny']= 'deny';
                        availableStatus.['deny']= 'deny' ; 
                        availableStatus.['destroy']= 'destroy';
这是假设以后状态对象或处理该数据的函数中还有更多信息。如果您只想存储一个字符串,可以这样做:

var availableStatus = {
                      visible : {},
                      hidden : {}, 
                      deny : {}, 
                      allow : {}, 
                      destroy : {}
                     };
并且具有相同的功能

 var availableStatus ={};

                        availableStatus.['visible']='visible';
                        availableStatus.['hidden']= 'hidden';
                        availableStatus.['deny']= 'deny';
                        availableStatus.['deny']= 'deny' ; 
                        availableStatus.['destroy']= 'destroy';
我有st key name和value相同,您可以为key和value使用任何名称

   availableStatus.['test']= 'deny' ; 
你可以使用任何东西而不用担心秩序 如果您写入可用状态。销毁,则输出将销毁

availableStatus.test则输出为deny

我有st key name和value相同,您可以为key和value使用任何名称

   availableStatus.['test']= 'deny' ; 
你可以使用任何东西而不用担心秩序 如果您写入可用状态。销毁,则输出将销毁


availableStatus.test则输出将是deny

不工作,因为
状态
不是
字符串
。您可能需要使用
Status.Name
来代替…不起作用,因为
Status
不是
字符串。您可能想使用
Status.Name
来代替……这就是我所做的,就像JavaScript“enum”替换一样。这就是我所做的,就像JavaScript“enum”替换一样
   availableStatus.['test']= 'deny' ;