是否可以使用變量設置數組的自定義索引。帶有自定義變量索引的Javascript數組
例如:
var indexID = 5;
var temp = {
indexID: new Array()
};
上面的例子將數組索引indexID
和不5
。我曾嘗試使用=
snd引號,但我沒有任何成功。
Thnaks
是否可以使用變量設置數組的自定義索引。帶有自定義變量索引的Javascript數組
例如:
var indexID = 5;
var temp = {
indexID: new Array()
};
上面的例子將數組索引indexID
和不5
。我曾嘗試使用=
snd引號,但我沒有任何成功。
Thnaks
是的,只是使用方括號表示法:
var temp = {};
temp[indexID] = [];
還要注意這樣的事實:temp
是一個對象,而不是一個數組。在JavaScript中,所有關聯數組(或字典)被表示爲對象。
更多:http://www.jibbering.com/faq/faq_notes/square_brackets.html#vId
感謝您提供有用的答案。我認爲我試圖做的不是最佳實踐,所以我改變了我的方法,並使用0作爲數組的第一個索引。我試圖將數組的索引加倍爲變量,事後看來是不實際的。 –
與您的代碼,您將創建一個對象。
相反,你可以做
var indexID = 5;
var temp = [];
temp[indexID] = [];
我想你想要的是:
var indexID = 5;
var temp = {};
temp[indexID] = "stuff"
您與Object
混合Array
。數組知道一個(數字)索引,對象由鍵值對組成,其中鍵可以是任何字符串。
不是每個人都會同意,BU可以擴展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;
只是爲了清晰。 **'temp'不是數組。** – Bart
這仍然不起作用。這工作:var temp = {5:new Array()}; - 但是如果我用5代替一個變量,它就會崩潰。我試過所有建議的解決方案... –
好的,我看到我很混亂的數組和對象。換句話說,我想要做的是創建一個數組,因爲它的第一個數字索引的值不是0.所以我的第一個索引是5. –