1

まず第一に、それが実際にjavascriptで可能かどうかはわかりませんが、それでも質問する価値があると感じました。

さて、私がやろうとしているのは、実行時に配列(またはあなたが言うかもしれないオブジェクト)のメンバーの名前を動的に取得することです。

説明させてください。私はこのようなオブジェクトを持っています:

Results :-
member_name1 : value_1
member_name2 : value_2
member_name3 : value_3

ここで、は、などのResultメンバーを持つオブジェクトの名前であり、uはそれぞれおよびのような値を持ちます。私がやろうとしているのは、実行時にこのようなメンバーの名前を取得することです。それは価値ではありません。私は一般的に値にアクセスします。member_name1member_name2value_1value_2member_name1Results.member_name1

私はこの問題を描写できることを願っています!

以下は、オブジェクトのスクリーンショットです。

http://i.stack.imgur.com/dzAgm.png

ありがとう!

4

2 に答える 2

3

オブジェクトobjがオブジェクトであるとすると、次の方法ですべてのプロパティの名前を取得できます。

var names = [];

for(var name in obj) {
    names.push(name);
}

ただし、これにより、そのクラスのプロパティをobj介して行われた拡張機能も取得されることに注意してください。これらを除外し、それ自体でprototype定義されたプロパティのみを取得する場合は、次のコマンドで除外できます。obj

for(var name in obj) {
    if(obj.hasOwnProperty(name)) {
        names.push(name);
    }
}

for...in MDNに関する詳細情報。

于 2012-03-02T08:15:12.077 に答える
1

JavaScript for constructを使用してアクセスできます。次の点を考慮してください。

var member_names = [],
    data = {
        foo1: 'bar1',
        foo2: 'bar2',
        foo3: 'bar3',
    };

​for (var i in data) {
    member_names.push(i);
}

console.log(member_names);

ここには *member_names* という空の配列とデータ オブジェクトがあります。このループでは、プロパティ名を参照するので、それを member_names 配列にプッシュして、そこにあるすべてのプロパティにアクセスできます

于 2012-03-02T08:17:40.933 に答える