javascript - 根据键数组查找对象上存在的键

标签 javascript lodash

我有一个名为 obj 的对象,该对象将具有以下几个不同键之一:messagemsgerror.

使用lodash的_.intersection_.keys,我能够获取obj内部的键,这些键也在数组['消息','msg','错误'].

const message = _.intersection(_.keys(obj), ['message', 'msg', 'error']);

如果obj是:

const obj = {
  msg: 'hello'
};

那么message应该是一个带有单个字符串的数组:

message: ['msg'];

如何使用 Lodash 来获取 message 作为键的字符串值?

message: 'hello';

最佳答案

使用 lodash 的 _.pick()从数组中获取具有相交键的对象的方法也将起作用。然后您可以使用 _.values()从该对象获取值数组,并且 destructure该数组中的第一个值:

const obj = {
  msg: 'hello'
};

const [message = 'default'] = _(obj).pick(['message', 'msg', 'error']).values();
console.log(message);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>

关于javascript - 根据键数组查找对象上存在的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60536630/

相关文章:

javascript - 如何映射和分组对象数组

javascript - 如何使用最新的 Javascript 合并两个对象,使一个对象中的键映射到另一个对象的值,而第二个对象中没有额外的键?

typescript - 如何在模块声明中重新导出命名空间定义

javascript - IE 11 浏览器上的 Bing map ,鼠标单击事件仅在我们打开兼容模式时有效

javascript - 在表格行中添加垂直滚动

javascript - 有人可以解释一下这个 Facebook 脚本吗? XSS?

javascript - 与 lodash 的显式链接不应用快捷融合

javascript - 为什么 webpack 在使用 "import * as _"时不摇晃 lodash?

javascript - JW Player 根据耗时执行操作

javascript - 需要帮助 : I think I'm missing a key concept on how JS variables behave within For Loops