0

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

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”(作为亚马逊对象的新属性)。这个怎么做?

编辑

这与属性范围的价值无关。这是关于属性带的命名。我想在参数之后命名它。newAct("自杀沉默", "星期五", 19:30, 20:30, "StageTwo"); 所以现在属性是 Suicide_Silence 所以你得到:

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

2 回答 2

0

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

var args = Array.prototype.slice.call(arguments);
于 2013-09-24T12:42:21.593 回答
0

那你的意思是这样的吗?

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

顺便说一句,我建议使用 Object Literal notation{}而不是new Object()

于 2013-09-24T12:49:34.300 回答