我有一个使用 lodash 生成的对象_.zipObject()
功能。所以我有 2 个数组,一个是位置,一个是数字。
var locs = {'Aberdeen': 304, 'Aberystwith': 109, 'Belfast': 219, 'Birmingham': 24, 'Brighton': 147, …}
我需要根据输入值返回密钥。例如,function(304)
会回来'Aberdeen'
.
我试过了_.findkey(locs, 304);
但这只是返回未定义。我尝试过的任何其他尝试总是返回未定义或-1。不太确定从这里去哪里。
要查找键,请使用谓词函数_.findKey() https://lodash.com/docs/4.17.4#findKey:
var locs = {'Aberdeen': 304, 'Aberystwith': 109, 'Belfast': 219, 'Birmingham': 24, 'Brighton': 147 };
var key = _.findKey(locs, function(v) {
return v === 304;
});
console.log(key);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
您可以通过柯里化创建谓词_.eq()
与请求的值:
var locs = {'Aberdeen': 304, 'Aberystwith': 109, 'Belfast': 219, 'Birmingham': 24, 'Brighton': 147 };
var key = _.findKey(locs, _.curry(_.eq, 304));
console.log(key);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)