9

変数を使用して配列のカスタム インデックスを設定することは可能ですか。

例えば:

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

上記の例では、配列インデックスを に設定し、indexIDではありません5。私は=snd引用符を使用しようとしましたが、成功しませんでした.

タナクス

4

6 に答える 6

19

はい、角括弧表記を使用してください。

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

tempまた、配列ではなくオブジェクトであることに注意してください。JavaScript では、すべての連想配列(または辞書) はオブジェクトとして表されます。

詳細: http://www.jibbering.com/faq/faq_notes/square_brackets.html#vId

于 2013-05-20T09:46:04.863 に答える
5

あなたが望むのは次のとおりだと思います:

var indexID = 5;
var temp = {};
temp[indexID] = "stuff"
于 2013-05-20T09:47:08.757 に答える
1

コードを使用して、オブジェクトを作成します。

代わりにできること

var indexID = 5;
var temp = [];
temp[indexID] = [];
于 2013-05-20T09:46:53.977 に答える
0

と混合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,[]};
于 2013-05-20T10:03:48.633 に答える
0
var index=7;  //YOUR CUSTOM INDEX
var newarray=[];

配列インデックスを配列にする必要がある場合は、次のようにできます。

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

カスタム配列インデックスに値のみを割り当てる必要がある場合は、次のようにできます。

newarray[index] = "ANY-THING-YOU-WANT"
于 2019-12-13T09:45:22.493 に答える