我在我的项目中使用 javascript,而且我是新手。我有一个场景,我想为我的组件实现 Status 属性。此 Status 属性显示可用状态列表中我的组件的当前状态。例如:
我是这样实现的:
var availableStatus = [
{ Name: 'visible' },
{ Name: 'hidden' },
{ Name: 'deny' },
{ Name: 'allow' },
{ Name: 'destroy' }
];
var Status = availableStatus[0];
if(Status === availableStatus[0])
//do this
else if(Status === availableStatus[1])
//do this
...
但我觉得应该有另一种更好的方法。这种逻辑取决于数组项的顺序,如果数组顺序发生变化,将来可能会产生问题。我有另一个逻辑通过使用命名数组来实现这一点。但我不知道怎么办。
请谁能给我一个更好的建议来实现这种场景?
最佳答案
按名称索引它们(如果足够唯一):
var availableStatus = {
visible : { Name: 'visible' },
hidden : { Name: 'hidden' },
deny : { Name: 'deny' },
allow : { Name: 'allow' },
destroy : { Name: 'destroy' }
};
var Status = availableStatus.visible;
if(Status === availableStatus.visible)
//do this
else if(Status === availableStatus.hidden)
//do this
这是假设稍后状态对象中有更多信息,或者处理该数据的函数。如果你只想存储一个字符串,你可以这样做:
var availableStatus = {
visible : {},
hidden : {},
deny : {},
allow : {},
destroy : {}
};
并且具有相同的功能。
关于javascript - 如何在javascript中实现这个逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18226846/