具有自定义变量索引的Javascript数组

时间:2013-05-20 09:43:44

标签: javascript arrays variables

是否可以使用变量设置数组的自定义索引。

例如:

var indexID = 5;
var temp = {
    indexID: new Array()
};

上面的示例将数组索引设置为indexID而不是5。我尝试使用= snd引号,但我没有任何成功。

Thnaks

6 个答案:

答案 0 :(得分:14)

是的,只需使用方括号表示法:

var temp = {};
temp[indexID] = [];

还要注意temp是一个对象,而不是一个数组。在JavaScript中,所有关联数组(或词典)都表示为对象。

更多信息: http://www.jibbering.com/faq/faq_notes/square_brackets.html#vId

答案 1 :(得分:5)

我认为你想要的是:

var indexID = 5;
var temp = {};
temp[indexID] = "stuff"

答案 2 :(得分:1)

使用您的代码,您将创建一个对象。

相反,你可以做

var indexID = 5;
var temp = [];
temp[indexID] = [];

答案 3 :(得分:0)

您正在将ArrayObject混合。数组知道(数字)索引,对象由键值对组成,其中键可以是任何字符串。

不是每个人都同意,你可以延长Object.prototype

Object.prototype.append = function(key,val){
  // confine to Object instances
  if (this.constructor !== Object && 
      !/object/i.test(this.constructor.prototype)) { return this; }
  this[key] = val;
  return this;
}

随后使用:

var temp = {}.append(indexID,[]};

答案 4 :(得分:0)

对于node-red项目,我必须将Apostrophe添加到索引名称

p1
ggsave("plot_2facet.pdf", height=5, width = p1.width, units = 'in')
p2
ggsave("plot_4facet.pdf", height=5, width = p2.width$root, units = 'in')

答案 5 :(得分:0)

var index=7;  //YOUR CUSTOM INDEX
var newarray=[];

如果您需要将数组索引作为数组,则可以这样做:

newarray[index] = {
                   'KEY':'VAL',
                   'KEY':'VAL',
                   'KEY':'VAL'
                    }

如果您只需要为自定义数组索引分配一个值,则可以这样:

newarray[index] = "ANY-THING-YOU-WANT"