在javascript中将参数作为键索引传递

时间:2013-09-24 12:32:12

标签: javascript arrays object switch-statement

我有一个对象节,看起来像这样:

Object {friday: Object}
    friday: Object
        amazon: Object
            band: Object

现在我有一个功能:

function newAct(band, date, startTime, endTime, stage){
  var act = new Object();
  switch(date){
     case "friday":
         switch(stage){
            case "amazon":
                festival.friday.amazon.band= new Object();

                break;
         }
         break;
   }
   return act;
 }

在这一行:

 festival.friday.amazon.band= new Object();

我希望插入参数'band'(作为Amazon Object的新属性)。 这该怎么做?

修改

这不是属性带的价值。这是关于财产带的命名。我想在参数后面命名。 newAct(“Suicide Silence”,“friday”,19:30,20:30,“StageTwo”);所以现在该物业将是Suicide_Silence所以你得到:

festival.friday.amazon.Suicide_Silence = new Object();                                        

2 个答案:

答案 0 :(得分:0)

arguments对象不是数组,尽管它看起来像。要将arguments转换为数组,您可以执行以下操作:

var args = Array.prototype.slice.call(arguments);

答案 1 :(得分:0)

你的意思是这样吗?

var bandname = "Suicide_Silence";
festival.friday.amazon[bandname] = new Object();

顺便说一下,我建议使用Object Literal表示法{}而不是new Object()