访问对象内的数组

时间:2017-10-20 14:57:37

标签: javascript arrays

调用对象内的数组时遇到问题。
我有一个名为items的数组(在对象内)。
我还有其他数组,如" name_of_the_item_color_names"和" name_of_the_item_color_codes" (只是为了说清楚,name_of_the_item是一个占位符,它是数组items中的一个值) 无论如何我想知道是否有办法访问它们,使用items中的一个值以及_color_names_color_codes
顺便说一下,我知道有[additions_colorizing.items[i]][total]这样的方法但是我想知道我是否可以添加额外的部分(再次,_color_names_color_codes

以下是部分代码的示例:



    var additions_colorizing = {
        items: ['',
                'long_hair',
                'fancy_hair',
                'boys_hair',
                'cadence_hair',
                'mask',
                'viking_helmet',
                'hard_hat',
                'nose',
                'mask',
                'snowtuber',
                'normal_headphones',
                'classic_headphones',
                'party_headphones',
                'cpi_party_hat',
                'cp_party_hat',
                'fairy_wings'
                ],
        mask_color_names: ['',
                                'yellow',
                                'orange',
                                'peach',
                                'red',
                                'mint',
                                'green',
                                'olive_green',
                                'dark_green',
                                'blue',
                                'dark_blue',
                                'azure',
                                'azure2',
                                'light_pink',
                                'pink',
                                'purple',
                                'dark_purple',
                                'white',
                                'grey',
                                'black',
                                'brown'
                            ],
        mask_color_codes: ['',
                        '#FFF000',
                        '#FF8400',
                        '#FF894E',
                        '#EB0505',
                        '#00FF59',
                        '#4DCB09',
                        '#659B20',
                        '#19750D',
                        '#0486C8',
                        '#203D93',
                        '#53C5FF',
                        '#1BB3AE',
                        '#F862D0',
                        '#FD009B',
                        '#CC10E8',
                        '#680F93',
                        '#FFFFFF',
                        '#797979',
                        '#000000',
                        '#BA6C08'
             ]}
          //there's more... but I deleted 90% of it ^^




1 个答案:

答案 0 :(得分:0)

您可以像这样访问所需的变量:

var item = additions_colorizing.items[5]; //This will get the 'mask' value
var item_color_names = additions_colorizing[item + '_color_names']; //This gets the 'mask_color_names' array
var item_color_codes = additions_colorizing[item + '_color_codes']; //This gets the 'mask_color_codes' array

或者,您可以使用继承/对象结构,而不是使用这么多数组(additions_colorizing.items中的每个项目为2),其中additions_colorizing.items中的每个项都是具有值的对象该项目(如果你想显示一个很好的字符串),一个数组与该项目的颜色名称,另一个数组与该项目的颜色代码。

我希望这会对你有所帮助。

祝你好运。