0

重複の可能性:
javascript連想配列で動的にキーを作成する

通常、次のように配列を初期化します。

var ar = ['Hello'、'World'];

そして、その価値観にアクセスするために、私たちは次のことを行います。

alert(ar [0]); // こんにちは

しかし、カスタムインデックスを割り当てたいのですが、例:

var ar = ['first' =>'Hello'、'second' =>'World'];

その後

alert(ar ['first']);

しかし、私は方法を見つけることができません、私が割り当てるために私がすることができるこのような何かがありますか?

ありがとう!

4

6 に答える 6

2

配列の代わりにオブジェクトを使用でき、オブジェクトの名前付きプロパティを指定できます

var ar = {
  first: 'hello',
  second: 'world'
};
alert(ar['first']);

また、文字列キーを使用してプロパティを配列に割り当てることもできます。これも機能します。

var ar = [];
ar['first'] = 'first';
alert(ar['first']);
于 2012-12-05T20:35:30.390 に答える
2

オブジェクトを使用する必要があります。

var obj = {'first': 'hello', 'second': 'world'};

alert(obj.first);
于 2012-12-05T20:35:52.560 に答える
1

あなたはこれを行うことができます:

var ar = {
   'first' :'Hello', 
   'second' : 'World'
 };

ご覧のとおり、これはJavascriptでオブジェクトを初期化する方法です。Javascriptは、連想配列とオブジェクトの間の境界線を曖昧にします。

次に、次の方法でこれにアクセスできます。

ar['first']

あるいは:

ar.first

また、次のように、キーの初期化で引用符を省略できます。

var ar = {
   first :'Hello', 
   second : 'World'
 };
于 2012-12-05T20:35:01.057 に答える
1

JavaScriptのオブジェクトは、単なるプロパティバッグ(ハッシュテーブル)です。

あなたはできる:

var ar = {};
ar["name"] = "Dave";
ar["salary"] = "Millions";

alert(ar.name);  //Dave
alert(ar["salary"]);  //millions

JavaScriptを使用すると、これらのオブジェクトの作成方法を非常に柔軟に設定できます。

于 2012-12-05T20:36:01.243 に答える
1

JavaScriptには連想配列自体はありませんが、オブジェクトリテラルは次のとおりです。

var obj = {foo:'bar'};
obj.something = 'else';
//or:
obj['foo'] = 'BAR';

配列に名前付きインデックスを作成する場合(ArrayオブジェクトはObjectプロトタイプにトレースバックするため)、JSは大騒ぎしませんが、Array機能(、などのメソッドsort、またはマジックlengthプロパティなど)の使用がすべて失われます。 )。

于 2012-12-05T20:36:08.387 に答える
1

使用するだけ

    var h = new Object(); // or just {}
h['one'] = 1;
h['two'] = 2;
h['three'] = 3;

// show the values stored
for (var k in h) {
    // use hasOwnProperty to filter out keys from the Object.prototype
    if (h.hasOwnProperty(k)) {
        alert('key is: ' + k + ', value is: ' + h[k]);
    }
}
于 2012-12-05T20:36:22.577 に答える