javascript - 省略 javascript 中另一个数组中存在的对象中的键
问题描述
我有一个这样的对象-
const obj = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5
}
和一个包含属于该对象的键的数组,
const arr = ['a', 'b', 'd']
我想返回一个类似于但它不应该包含存在的键的对象,即,我想要一个对象obj
arr
const result = {
'c': 3,
'e': 5
}
如何通过 Javascript 实现这一目标?
解决方案
使用新Object.fromEntries
的 ,很容易:
const result = Object.fromEntries(Object.entries(obj).filter(([k, _]) => !arr.includes(k)))
没有它,它需要更多的努力:
const result = Object.entries(obj).reduce((tot, [k, v]) => {
if (!arr.includes(k)) {
tot[k] = v;
}
return tot;
}, {})
推荐阅读
- jenkins - Jenkins 管道触发作业并在后期操作中获得可用的结果
- javascript - 苹果日历 api 与节点应用程序集成
- azure - 获取使用 Azure 数据工厂复制的即时文件名
- zsh - zsh 数组索引中的数值上下文
- sql-server - INNER JOIN 和 JOIN 之间的结果差异
- powershell - 执行脚本时服务帐户在 Windows 域上缺乏特权
- jquery - window.open 与 WordPress 页面加载冲突
- ruby-on-rails - Rspec 存根块调用
- reactjs - Babel 无法识别“从 './Component' 导出组件”
- javascript - 使用 WebRTC 时如何使用户 IP 安全?