繁体   English   中英

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

[英]Javascript array with custom variable indexing

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

例如:

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

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

纳克斯

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

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

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

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

我想你想要的是:

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

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

相反,你可以做

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

您正在将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,[]};

对于节点红色项目,我必须在索引名称中添加撇号

var Trend_1={};

Trend_1[**'x'**]=Date_TimeArray;
var index=7;  //YOUR CUSTOM INDEX
var newarray=[];

如果你需要数组索引是一个数组,你可以这样做:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM