2017-11-01 21 views
0

助けが必要です。 Angular.jsまたはJavascriptを使用して子キー値がある場合、親オブジェクト値を取得する必要があります。私は以下のコードを説明しています。Angular.js/Javascriptを使用して子配列のキー値を使用して親オブジェクト値を取得する方法

$scope.data = [{ 
    "parentdes": "Parent description1", 
    "parent_id":"1" 
    "childdes": [{ 
     "des": 'chile description11', 
     "sub_id":"11" 
     "subchilddes": [{ 
     "des": 'subchild des111', 
     "sub_sub_id":"111" 
     }] 
    }, { 
     "des": 'chile description12', 
     "sub_id":"12" 
     "subchilddes": [{ 
     "des": 'subchild des112', 
     "sub_sub_id":"112" 
     }] 
    }] 
    }, { 
    "parentdes": "Parent description2", 
    "parent_id":"2" 
    "childdes": [{ 
     "des": 'chile description21', 
     "sub_id":"21" 
     "subchilddes": [{ 
     "des": 'subchild des212', 
     "sub_sub_id":"212" 
     }] 
    }, { 
     "des": 'chile description22', 
     "sub_id":"22" 
     "subchilddes": [{ 
     "des": 'subchild des222', 
     "sub_sub_id":"222" 
     }] 
    }] 
    }]; 

は、ここで私はparent->child->subchildのような値を持つ1つの絶望の3つのレベルがあることを意味しています。ここで私がID sub_sub_id:222を持っているとします。この場合、parent obeject value i.e- $scope.data[1]['childdes'][1]parent to parent object value i.e-$scope.data[1]を取得する必要があります。親オブジェクトインデックスとAngular.js/Javascriptを使用してオブジェクトインデックスを使用してインデックスを取得する必要があります。助けてください。

答えて

0

おそらく、上からチェックを開始する関数を子要素として記述する必要があります。データの構造が変更されない場合、つまり$scope.dataが常に配列の場合、同様に、subchilddesも配列である場合、コードは簡単になります。

それ以外の場合は、次の要素がオブジェクトか配列かを確認する必要があります。

コードはこのようになります。 $scope.data

  • から

    1. 開始$scope.dataが配列の場合、
    2. その後、配列の各要素について、
    3. 行い、要素をチェックし、
    4. isString? isArray? ISOBJECT
    5. isString場合
    6. 要素の値は、あなたの値と等しい場合
    7. プリントトレース(以前の段階でこれを保存する必要があります)。他
    8. isStringない場合、あなたはいくつかのコードを考え出すことができる場合、私はあなたを助けることができるかもしれない2.

    に戻ってください。

  • 関連する問題