javascript - 根据键数组查找对象上存在的键
问题描述
我有一个名为的对象obj
,它将具有几个不同的键之一:message
、msg
或error
.
使用 lodash 的_.intersection
and _.keys
,我可以得到obj
数组中的键['message', 'msg', 'error']
。
const message = _.intersection(_.keys(obj), ['message', 'msg', 'error']);
如果obj
是:
const obj = {
msg: 'hello'
};
然后message
应该是一个带有单个字符串的数组:
message: ['msg'];
如何使用 Lodash 来代替message
键的字符串值?
message: 'hello';
解决方案
使用交集的结果作为对象的动态键。
const obj = {
msg: 'hello'
};
const key = _.intersection(_.keys(obj), ['message', 'msg', 'error']);
const message = key.length == 1 ? [obj[key[0]]] : [];
console.log(message);
推荐阅读
- graphql - Apollo Mock Error state -> Error: No more mocked response for the query
- javascript - 反应上下文不会导致重新渲染
- java - 使用注入点测试自定义验证器,WeldUnit 没有注入休眠 bean 验证工厂
- amazon-web-services - EC2 实例中的 API 成功使用端口 5000,但是当从负载均衡器到达时,端口不工作
- python - Windows、PyCharm:DPI-1047:找不到 32 位 Oracle 客户端库
- sql - 使用 GROUP BY 后查找具有 MAX 值的行
- javascript - 无法从 module.exports 得到我想要的
- audio - FFMPEG:连接视频的标题卡导致慢动作
- azure-devops - Azure DevOps 管道 - 如何在使用多个 Git 源存储库时标记源
- google-cloud-platform - 是否可以在谷歌云上持续训练 AutoML 自然语言模型以自动提高性能?