【发布时间】:2015-05-14 09:34:29
【问题描述】:
我需要用给定的地图做几个操作:
var keys = {
a: 1,
b: 2,
c: 1,
d: 2,
e: 2
}
_.findKey(keys, function(value) {
return value === 2;
}); // "b"
_.omit(keys, function(value) {
return value === 2;
}); // {a: 1, c: 1}
我想通过比较立即创建回调。像这样的
function equals(lhs) {
return function(rhs) {
return lhs === rhs;
};
}
lodash 或下划线是否具有与此功能等效的功能?我尝试通过_.matches(2) 进行回调,但它会进行深度比较并且不适用于原始类型。
当然,我可以自己创建它,但我正在寻找一种通用的方法。
【问题讨论】:
-
您期望
keys的输出是什么? -
更新了代码示例。现在这里是具有预期结果的 cmets
-
我仍然不清楚您要做什么。您是否尝试替换调用
_.findKey和_.omit并使用其他内容? -
我想为
_.findKey、_.omit和其他人生成回调,它将传递的值与一些常量进行比较 -
我不是你会这样做,但我很确定你可以使用最新版本的下划线和 _.mapObject 函数来遍历对象并获得你想要的结果。
标签: javascript functional-programming underscore.js lodash