2012-03-02 12 views
1

まず、javascriptで実際に可能かどうかはわかりませんが、依然として質問する価値はあると感じました。javascriptで配列のメンバー名を実行時に動的に取得する

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

私を説明しましょう。 、ここで

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

Resultmember_name1member_name2などのメンバーを持つオブジェクトなどの名前で、theuがvalue_1のような値を持っている:私はこのようなオブジェクトを持っていますそれぞれvalue_2。私がしようとしているのは、実行時にmember_name1のようなメンバーの名前を取得することです。それは価値がありません。私は一般的にResults.member_name1で値にアクセスします。

私は問題を描くことができれば幸いです!

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

ありがとう:

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

答えて

3

objがあなたのオブジェクトである、あなたはこのようすべてのプロパティの名前を取得することができますと仮定:

var names = []; 

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

しかし、これはまたprototypeを通じてobjに行われた任意の拡張子をピックアップすることに注意してくださいそのクラスのプロパティ。あなたはこれらを除外すると、プロパティだけがobj自体に定義されますしたい場合は、for...inon MDN

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

詳しい情報でそれらをフィルタリングすることができます。

+0

ありがとうございました。あなたが提供したリンクが私のために働いた! – Anupam

1

用にJavaScript を使用してアクセスできます。次の点を考慮ここ

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配列にプッシュしてそこにアクセスできます。

関連する問題