変数を使用して配列のカスタム インデックスを設定することは可能ですか。
例えば:
var indexID = 5;
var temp = {
indexID: new Array()
};
上記の例では、配列インデックスを に設定し、indexID
ではありません5
。私は=
snd引用符を使用しようとしましたが、成功しませんでした.
タナクス
変数を使用して配列のカスタム インデックスを設定することは可能ですか。
例えば:
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] = [];
と混合Array
していObject
ます。配列は (数値) インデックスを認識し、オブジェクトはキーと値のペアで構成されます。キーは任意の文字列です。
誰もが同意するわけではありませんが、延長することはできます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 index=7; //YOUR CUSTOM INDEX
var newarray=[];
配列インデックスを配列にする必要がある場合は、次のようにできます。
newarray[index] = {
'KEY':'VAL',
'KEY':'VAL',
'KEY':'VAL'
}
カスタム配列インデックスに値のみを割り当てる必要がある場合は、次のようにできます。
newarray[index] = "ANY-THING-YOU-WANT"