javascript - 过滤对象数组的一部分的更有效方法?
问题描述
我有一个items
用这种结构调用的大型对象数组:
abc: [{object0}, {object1}, ... {objectN}],
def: [...],
ghi: [...],
jkl: [...]
为了清楚起见,我已经简化了一些事情。可以说,def
,ghi
和jkl
包含与 相同的对象数组结构abc
。
每个object#
都有许多属性,其中之一是hidden
。 hidden
通常是错误的,但对于abc
数组中的一些对象,它是正确的。
我想返回一个删除items
了所有对象的新实例。hidden=true
这段代码实际上是有效的:
items = {
abc: items.abc.filter(item => item.hidden === false),
def: tasks.def,
ghi: tasks.ghi,
jkl: tasks.jkl
};
但我想知道是否有更优雅的方式来实现这一点?
罗伯特
解决方案
你可以做这样的事情
const data = {
// your source data set
}
const items = {}
for(let key in data) {
items[key] = data[key].filter(item => item.hidden === false)
}
推荐阅读
- r - Windows 看不到在 RStudio 之外安装的 tidyverse
- authentication - 如何从 Google 服务器获取经过身份验证的 JWT 令牌以调用 Google Ads API
- java - 如何检测 JTable 之外的鼠标位置?
- c# - 如何使用 Azure 客户端库 v12 将整个容器从一个 Azure Blob 服务复制到另一个
- javascript - 使用 vanilla JS 而不是 JQuery $ 选择器按 id 选择 div 以应用 Raphaeljs 方法
- python - python上os.system中的花括号
- docker-compose - 由于缺少 postgres 映像或构建,无法运行 reportportal docker-compose
- python - 基于 Python 文本的游戏房间到房间移动
- javascript - 在 onreadystatechange 函数中解析的 JSON 在函数外表现得很奇怪。不知道为什么
- django-rest-framework - Django Rest API 限制