Javascript 下划线Js--\u0.some()与\u0.find()的比较

Javascript 下划线Js--\u0.some()与\u0.find()的比较,javascript,underscore.js,Javascript,Underscore.js,从我在文档中读到的内容来看,u.find()函数与u.some()非常相似 有人知道这两者之间是否有(性能)优势吗?假设您想知道是使用还是在特定情况下,它们的性能特征可能是相同的。他们两人都以同样的方式懒惰 区别在于输出find将返回值,some将返回一个boolean 我检查了来源(1.4.4)一些和查找都在内部使用一些(==任何)。因此,即使使用了some的本机实现,如果您查看它的源代码,就会发现这两个实现是相同的,find实际上调用了一些 _.find = _.detect = func

从我在文档中读到的内容来看,u.find()函数与u.some()非常相似


有人知道这两者之间是否有(性能)优势吗?

假设您想知道是使用还是在特定情况下,它们的性能特征可能是相同的。他们两人都以同样的方式懒惰

区别在于输出
find
将返回值,
some
将返回一个
boolean



我检查了来源(1.4.4)<代码>一些和
查找
都在内部使用
一些
(==
任何
)。因此,即使使用了
some
的本机实现,如果您查看它的源代码,就会发现这两个实现是相同的,find实际上调用了一些

_.find = _.detect = function(obj, iterator, context) {
  var result;
  any(obj, function(value, index, list) {
    if (iterator.call(context, value, index, list)) {
      result = value;
      return true;
    }
  });
  return result;
};

var any = _.some = _.any = function(obj, iterator, context) {
  iterator || (iterator = _.identity);
  var result = false;
  if (obj == null) return result;
  if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);
  each(obj, function(value, index, list) {
    if (result || (result = iterator.call(context, value, index, list))) return breaker;
  });
  return !!result;
};

另一个细微的区别是
一些
将使用本机实现(如果可用),我不确定
查找