Lodash: 返回对象的第一个键,其值(即数组)中包含给定元素(即字符串)。

19 浏览
0 Comments

Lodash: 返回对象的第一个键,其值(即数组)中包含给定元素(即字符串)。

我有一个对象,如下所示:

var obj = {
  "01": ["a","b"],
  "03": ["c","d"],
  "04": ["e","c"]
};

我知道对象键值的数组元素(比如 "c"),那么如何使用lodash找到第一个键值,即"03",而不使用if else语句?

我尝试使用lodash和if else语句,代码如下:

var rId = "";
_.forOwn(obj, function (array, id) {
     if (_.indexOf(array, "c") >= 0) {
           rId = id;
           return false;
     }
});
console.log(rId); // "03"

期望结果:如果元素匹配,则为第一个键值"03",否则为""。

在看了评论后:现在我也很好奇,是否需要使用原生JavaScript(如果使用超过2个if语句,程序难以阅读),还是使用lodash(简洁易读,一行代码解决问题)?

0