lodash中findKey的算法

时间:2016-06-24 08:21:32

标签: javascript lodash

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

但我的问题是,findKey怎么办?是否与哈希公共密钥值映射不同?

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

谢谢你的时间!

1 个答案:

答案 0 :(得分:2)

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;
}

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

如果匹配,则返回密钥作为结果。