我有一个名为 obj
的对象,该对象将具有以下几个不同键之一:message
、msg
或 error
.
使用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/