javascript - 分组和过滤java脚本中的对象列表
问题描述
对象列表是
list= [{app: "a1", company: "20", permission: "All"},
{app: "a1", company: "21", permission: "download"},
{app: "a2", company: "20", permission: "search"}]
然后我需要将上面的列表过滤为
{
"a1":{20:["All"],
21:["download"]},
"a2": {20:["search"]}
}
我正在使用 ES6。感谢你的关心 :)
解决方案
首先我应该注意到,Stackoverflow 是帮助解决问题的资源,它不应该为你解决任务,它应该帮助你找到解决方案中的问题。
list.reduce((acc, item) => {
if (!acc.hasOwnProperty(item.app)) {
acc[item.app] = {}
}
if (!acc[item.app].hasOwnProperty(item.company)){
acc[item.app][item.company] = []
}
acc[item.app][item.company].push(item.permission)
return acc
},{})
推荐阅读
- python - 基于自制软件的升级后的python3问题
- javascript - Javascript + JQuery:对象属性未定义
- r - 在 R+ggplot2+gganimate 中使用多个 CPU 内核
- vba - 将 PPT 演示文稿从 Excel VBA 导出为 PDF
- python - GCP 数据流 - WriteToBigQuery() 期间出现 NoneType 错误
- python - python - 4维数组的矩阵乘法
- ios - iOS:有没有办法导出文件,以便只有相关的 App 可以读/写它?
- c++ - 未找到 libstc++-6.dll
- kibana - “优化”步骤中的 Kibana 失败
- reactjs - React.Js + Framer Motion 仅在初始页面加载时动画