首页 > 解决方案 > 根据键数组查找对象上存在的键

问题描述

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

使用 lodash 的_.intersectionand _.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';

标签: javascriptlodash

解决方案


使用交集的结果作为对象的动态键。

const obj = {
  msg: 'hello'
};
const key = _.intersection(_.keys(obj), ['message', 'msg', 'error']);
const message = key.length == 1 ? [obj[key[0]]] : [];
console.log(message);
    


推荐阅读