javascript - lodash中findKey的算法

标签 javascript lodash

我想通过对象中的值查找键,我发现 lodash 为我们提供了方便的 api findKey 可以帮助我。

但我的问题是,findKey 如何工作?这与哈希公共(public)键值映射不同吗?

我对此一无所知,如果可以的话,你能给我一些例子来比较吗?

感谢您的宝贵时间!

最佳答案

Lodash是一个开源库,您可以检查其源代码以检查其所有功能的实现。

https://github.com/lodash/lodash/blob/master/lodash.js

findKey 可能可以追溯到第 716 行的 baseFindKey 函数:

function baseFindKey(collection, predicate, eachFunc) {
  var result;
  eachFunc(collection, function(value, key, collection) {
    if (predicate(value, key, collection)) {
      result = key;
      return false;
    }
  });
  return result;
}

它的作用是遍历集合,并对集合内的每个成员运行谓词检查以查看该成员是否与谓词匹配。

如果匹配,则 key 将作为结果返回。

关于javascript - lodash中findKey的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38008768/

相关文章:

javascript - ajax 的 JSON 解析问题

javascript - _.groupBy momentjs 格式返回键未定义

javascript - Lodash 查找数组中是否存在对象属性

javascript - 去抖不触发功能

javascript - Node js-类型错误: Cannot read property

javascript - React componentDidMount 未触发且未更新 Electron 应用程序中的状态

javascript - 从嵌套的对象数组中提取对象

javascript - 在第二个函数中检测第一个函数是否有返回值

javascript - 过滤 Javascript/Lodash 中的嵌套属性

javascript - 将单个值转换为数组