node.js - 如何在节点js中获取嵌套数据
问题描述
我想在节点 js 中获取每个类别的项目。如何得到它。这是我想要的例子
"status": true,
"total_results": 4,
"categories": [
{
"id": 2,
"name": "Category 1",
"items":[
{
"name" :"item1"
},
{
"name": "item2"
}
]
},
{
"id": 4,
"name": "Category 2",
"items":[
{
"name" :"item1"
},
{
"name": "item2"
}
]
}
]
}
解决方案
根据我的理解分享我的建议;请参考以下代码片段:
const data={ "status": true,
"total_results": 4,
"categories": [
{
"id": 2,
"name": "Category 1",
"items":[
{
"name" :"item1"
},
{
"name": "item2"
}
]
},
{
"id": 4,
"name": "Category 2",
"items":[
{
"name" :"item1"
},
{
"name": "item2"
}
]
}
]
};
const expectedResult=data.categories.reduce((iter, item)=>{
iter[item.name]=item.items? item.items.length : 0; // we can use item.id if required
return iter;
}, {});
alert(JSON.stringify(expectedResult));
console.log('Items per category - ',expectedResult);
推荐阅读
- excel - 使用输入和命令按钮制作 vba 用户表单
- html - 列多时无法固定列宽
- sql-server - SQL Server 设置要保留的备份数量
- web3 - 在 MetaMask 中以编程方式设置自定义 RPC URL
- tensorflow - 在 TensorFlow 2.0 中实现 DDPG
- visual-studio - 有没有办法在 Visual Studio 中为包管理器控制台存储命令列表
- xcode - Swift 包管理器 - 解决包版本终端命令
- c# - C# 调用 ListView 不起作用(后台线程)
- c++ - 有没有办法在 C++ 中清除 Eclipse 控制台?
- angular - Angular 8 - 构建通用 SSR 时出现致命错误 - 堆限制附近的无效标记压缩分配失败