gpt4 book ai didi

node.js - 在nodejs中按属性过滤对象

转载 作者:太空宇宙 更新时间:2023-11-03 22:08:29 25 4
gpt4 key购买 nike

我的对象看起来像这样:

    {
"performance": {...},
"a": "",
"b": "N",
"c": true,
"groups": [
{
"acctTypes": [
{
"xxx": "xxx",
"ttt": "ttt",
"accounts": [
{
...
},
{
...
},
{
...
}
],
},
{
"acctTypes": [
{
"xxx": "xxx",
"ttt": "ttt",
"accounts": [
{
...
},
{
...
},
{
...
},
{
...
},
{
...
}
],
},
],
"summary": [
{
...
},
{
...
}
]
}

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

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

任何帮助将不胜感激。

谢谢

最佳答案

如果 obj 以类似的方式进一步构造,这可能适合您

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)

我已将数据添加到一些 PoC 的帐户中。我测试 filtered 中的每个项目是否包含 accounts 键或 acctTypes,后者又应包含 accounts 键,然后使用 ES6 扩展将值添加到 accounts 数组中。

关于node.js - 在nodejs中按属性过滤对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49217652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com