在nodejs中按属性过滤对象

时间:2018-03-11 07:22:52

标签: node.js filter

我的对象看起来像这样:

<style>table:not(.diff)
  {
      color:#ff0000;
  }</style>
<table><tr><td>table1<td></tr></table>
<table><tr><td>table2<td></tr></table>
<table><tr><td>table3<td></tr></table>
<table><tr><td>table4<td></tr></table>
<table class="diff"><tr><td>table5<td></tr></table>

我正试图从中取出所有“帐户”(查看_js和lodash - 但找不到任何相关内容)

结果应该是包含所有帐户的对象/数组

任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:1)

如果obj以类似的方式进一步向下构建,这可能对您有用

&#13;
&#13;
MainComponent
&#13;
&#13;
&#13;

我已经为某些PoC的帐户添加了数据。 我测试obj = { "performance": {}, "a": "", "b": "N", "c": true, "groups": [ { "acctTypes": [ { "xxx": "xxx", "ttt": "ttt", "accounts": [ { a:1 }, { b:2 } ], }, { "acctTypes": [ { "xxx": "xxx", "ttt": "ttt", "accounts": [ { c:3 }, { d:4 } ], }, ], "summary": [ { }, { } ] }]}]} let filtered = obj.groups.reduce(key => key.accounts).acctTypes let accounts = [] filtered.map(key => { if (key.accounts) { accounts.push(...key.accounts) } else if (key.acctTypes){ accounts.push(...key.acctTypes[0].accounts) } }) console.log(accounts)中的每个项目是否包含filtered密钥或accounts是否应包含acctTypes密钥,然后将值添加到accounts使用ES6传播的数组。