javascript
  • json
  • node.js
  • node.js-stream
  • node.js-client
  • 2016-04-06 6 views 0 likes 
    0

    用として、ネストされた要素の名前を行動する変数は私の物である:ここではのNode.js:オブジェクトここ

    obj = { 
         "FirstName": "Fawad", 
         "LastName": "Surosh", 
         "Education": {"University": "ABC", "Year": "2012"} 
        } 
    

    は私のNode.jsのコードです:

    var nodeName = 'Education.Year'; 
    obj.nodeName; //this should return the value of Year which is '2012' 
    

    実装するためのどのような方法がありますこの解決策?これは、私のnodeNameがdbテーブルから抽出され、特定ではないためです。

    +2

    参照[ネストされたJavaScriptをアクセスすると、文字列のキーを持つオブジェクト](http://stackoverflow.com/questions/6491463/accessing-nested-javascript- objects-with-string-key)および[変数を使用したオブジェクトプロパティの動的アクセス](http://stackoverflow.com/questions/4244896/dynamically-access-object-property-using-variable) –

    答えて

    1

    nodeName.で分割し、各部分についてオブジェクトをナビゲートすることができます。

    var result; 
    result = obj['Education']; 
    result = obj['Year']; 
    
    console.log(result); // 2012 
    

    例:

    var obj = { 
     
        "FirstName": "Fawad", 
     
        "LastName": "Surosh", 
     
        "Education": {"University": "ABC", "Year": "2012"} 
     
    }; 
     
    
     
    var nodeName = 'Education.Year'; 
     
    
     
    var result = nodeName.split('.').reduce((a, b) => { 
     
        a = a[b]; 
     
        return a; 
     
    }, obj); 
     
    
     
    document.getElementById('result').value = result;
    <input id='result' type='text' />

    関連する問題