【发布时间】:2013-12-22 00:35:58
【问题描述】:
我创建了一种滑块,它基于一个名为 workChart 的变量,其中包含从 1 到 15 的值(可能更多)。现在这些元素(作品)也分为三类。 我还将包含每个类别作品名称的全局列表定义为:
gtitlesCol = [12,7,6,3,2,1];
gtitlesRech = [13,5,4];
gtitlesCorp = [15,14];
现在我希望整个网站的每个值(工作)都将被记录以使其成为其类别的一部分,这样我就能够避免这样的事情:
switch( workChart ) {
case 3: switchCategory( "Recherche"); break;
case 5: switchCategory( "Collection" ); break;
case 12: switchCategory( "Recherche"); break;
case 13: switchCategory( "Corporate" );
};
有没有一种巧妙的方法可以将类别“嵌套”到 workChart 值中?这样我就可以使用变量 workChart 并且不再需要每次都告诉函数它属于哪个类别。我认为这与将它们创建为具有属性(类别 f.e.)的对象(作品)有关,但我不知道如何处理它。那里有什么帮助吗?非常感谢!
@托比亚斯
对不起 Tobias,我想我的问题比你想象的还要简单,我糟糕的解释让你浪费了时间。对此感到抱歉。我成功地做了我想做的事:
var categories = { 1:"Collection", 2:"Collection", 3:"Collection", 4:"Recherche", 5:"Recherche", 6:"Collection", 7:"Collection", 8:"Collection", 9:"Collection", 10:"Collection", 11:"Collection", 12:"Collection", 13:"Recherche", 14:"Corporate", 14:"Corporate" }
那我可以做(f.e.)
alert( categories[5] );
或用它做其他事情。我想,现在唯一缺少的就是我的数组更合适的语法形式,以便不重复 15 次,而不是我猜的 3 次。
【问题讨论】:
-
首先,您使用的是什么语言?
-
将来,您应该标记语言。 1)为了更好的曝光和 2)让用户知道你正在使用什么语言
-
您考虑过使用某种地图吗?我不熟悉 javascript,但我知道您可以像在 Java 中一样使用某种地图。
-
我开始阅读相关内容。谢谢。我也可以在这里补充一下,我的代码中已经有 jquery,所以也许有一个使用它的简单解决方案,而且我也比纯 JS 更熟悉它。
-
好吧,你误解了一件事:这和我做的完全一样,只是不是有多个对象的一种类型,而是有一个对象,其中数字作为变量名,类别字符串作为值。您创建的不是数组,您可以使用数组表示法 [] 访问它的事实源于 JavaScript 的工作方式,您可以使用数组表示法或点表示法访问变量。在这种情况下,点符号将不起作用,因为变量名称是数字。
标签: javascript jquery arrays properties case