我无法理解 underscore js 之间的区别方法 _.each
和 _.invoke
.
两者似乎都调用了传递给每个项目的函数。
我应该在什么场景下使用_.each
和 _.invoke
?
请用一些例子分享不同之处。
最佳答案
不,他们做不同的事情。看看他们的代码!
each
使用给定对象的每个元素调用给定函数。您还可以将应用函数的上下文传递给它。它的行为就像本地 forEach
在阵列上。iterator.call(context, obj[i], i, obj)
它确实返回未定义。
invoke
通常以字符串形式获取方法名称,并为给定集合的每个元素动态查找方法。然后在该元素上应用该方法;您还可以向它传递一些参数。(_.isFunction(method) ? method : obj[i][method]).apply(obj[i], args);
它确实返回调用的结果,它基本上是
map
. 关于underscore.js - 下划线js_.each方法和_.invoke方法的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13193959/