如何为我的javascript正确编写此数组

时间:2012-01-29 18:24:50

标签: php javascript arrays

我再遇到这个问题,现在真的需要知道如何正确编写这个数组。

我有一个下拉框,基于所选的值,它将通过字段集的ID显示特定的字段集。

在某些情况下,下拉框中的两个不同值可能会调用相同的字段集。例如,如果我选择横幅,则会显示多个字段集,如果我选择主页更新,则会显示相同的字段集。所以我希望我的数组基本上是>>如果在项目类型下拉框中选择的值等于横幅主页更新,则显示指定的字段集。问题是,第一个选项有效。在这种情况下横幅。当我选择主页更新时,不会显示任何内容。

有谁知道谁正确地写这个数组?我有很多类型,我必须编码,数组是最清楚的编写方式,但我无法克服这个障碍。请帮忙。阵列的一部分在下面。

var projectTypes = new Array (
  {id : '660' , value:('Banners' ||'Homepage Updates')},
  {id : '659' , value:('Banners' || 'Homepage Updates')},
  {id : '661' , value:'Banners'}, 
  {id : '662' , value:'Banners'},   
  {id : '663' , value:'Banners'}, 
  {id : '668' , value:'Redirect'}, 
  {id : '229' , value:'Affiliates'},
  {id : '236' , value:'Affiliates'},
  {id : '242' , value:'Affiliates'},
  {id : '250' , value:'Affiliates'},
  {id : '251' , value:'Resources'},
  {id : '375' , value:'Resources'},
  {id : '376' , value:'Resources'},
  {id : '377' , value:'Ads'},
  {id : '237' , value:'Ads'}
);

1 个答案:

答案 0 :(得分:0)

首先,您的表达式('Banners' ||'Homepage Updates')将始终评估为'Banners' 逻辑运算符 OR (写为||)的计算结果如下:

boolean OR boolean

由于第一个表达式的参数是一个非空的String,它会自动转换为true值(因为自动类型转换。

在您的情况下,我建议您为对象使用一组可能的值 这样,您可以选择合适的一个:

var projectTypes = new Array (
  {id : '660' , value: ['Banners', 'Homepage Updates']},
  {id : '659' , value: ['Banners', 'Homepage Updates']},
  {id : '661' , values: ['Banners']}, 
  {id : '662' , values: ['Banners']},   
  {id : '663' , values: ['Banners']}, 
  {id : '668' , values: ['Redirect']}, 
  {id : '229' , values: ['Affiliates']},
  {id : '236' , values: ['Affiliates']},
  {id : '242' , values: ['Affiliates']},
  {id : '250' , values: ['Affiliates']},
  {id : '251' , values: ['Resources']},
  {id : '375' , values: ['Resources']},
  {id : '376' , values: ['Resources']},
  {id : '377' , values: ['Ads']},
  {id : '237' , values: ['Ads']}
);

如果我理解正确并且您想要根据值访问某些ID,您可以像这样组织对象:

var projectTypes = {
    'Banners' : [660, 659, 661, 662, 663],
    'Homepage Updates' : [660, 659],
    'Redirect' : [668], 
    'Affiliates' : [229, 236, 242, 250],
    'Resources' : [251, 375, 376],
    'Ads' : [237, 377]
};