繁体   English   中英

如何使用Angular.js / Javascript通过使用子数组键值获取父对象值

[英]How to get parent object value by using child array key value using 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 ,它的值像parent->child->subchild意味着有三个级别。 在这里,假设我有id sub_sub_id:222在这种情况下,我需要获取parent obeject value ie- $scope.data[1]['childdes'][1]以及parent to parent object value ie-$scope.data[1]这里,我既需要父对象索引,又需要使用该索引使用Angular.js / Javascript来获取对象值。 请帮忙。

您可能需要编写一个从顶部开始检查其子元素的函数。 如果您的数据结构没有改变,即$scope.data始终是一个数组,则类似地,如果subchilddes也是一个数组,那么您的代码可能会很简单。

否则,您将必须查看下一个元素是对象还是数组。

您的代码可能像这样。

  1. $scope.data开始
  2. 如果$scope.data是一个数组,
  3. 然后对于数组的每个元素,
  4. 做,检查元素,
  5. isString? isArray? isObject
  6. 如果isString
  7. 如果元素的值等于您的值,
  8. 打印轨迹(您必须在较早的步骤中保存它)。
  9. 否则,如果不是isString,请返回到步骤2。

如果您能提出一些代码,我也许可以为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM