【发布时间】:2016-04-30 19:17:47
【问题描述】:
我有一个类似的对象:
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”。
看过cmets之后:现在我也很想知道
我是否需要使用原生 javascript(如果我们使用超过 2 个 if 块的情况下难以阅读程序)或 lodash 方式(一行中易于阅读的程序解决方案)?
【问题讨论】:
-
请添加想要的结果。
-
原生javascript解决方案怎么样?
-
没有lodash:jsfiddle.net/rayon_1990/5pd8sq5g
标签: javascript lodash