如何使用* ngIf循环遍历数组?

时间:2017-02-23 16:45:10

标签: javascript angular

我有一个这样的对象:

"data": [
    {
      "key1": "value1";
      "satisfaction": {
        "yes": 0,
      }
    },
   {
      "key2": "value2";
      "satisfaction": {
        "yes": 4,
      }
    }
]

我需要制作一个* ngIf语句,只有当" satisfaction.yes"时才会显示键(key1和key2)的值。退出(大于0)。这是动态生成的,我永远不会知道我可能会得到。

如何迭代satisfaction[]数组,如果它大于0(存在)显示key1key2值?什么是最好的方式?

感谢。

编辑:完成此操作后,我需要传递应下载/导出密钥的参数..

2 个答案:

答案 0 :(得分:1)

您可以在阵列上使用forEach循环,并首先检查satisfaction.yes是否> 0然后显示其他键的值。

var obj = {
  "data": [{
    "key1": "value1",
    "satisfaction": {
      "yes": 0,
    }
  }, {
    "key2": "value2",
    "satisfaction": {
      "yes": 4,
    }
  }]
}

obj.data.forEach(function(o) {
  if (o.satisfaction.yes > 0) {
    Object.keys(o).forEach(function(e) {
      if (e != 'satisfaction') console.log(o[e])
    })
  }
})

答案 1 :(得分:1)

在构造函数中使用display: none

注意:对象属性名称this.data.filter(v => v.satisfaction.yes);必须相同,否则您将无法执行key循环。

<强> Working plunker