アンダースコアjsメソッド_.each
と_.invoke
.
どちらも、各アイテムに渡された関数を呼び出すようです。
どのシナリオで_.each
andを使用する必要があり_.invoke
ますか?
いくつかの例で違いを共有してください。
いいえ、彼らは違うことをします。彼らのコードを見てください!
each
指定されたオブジェクトの各要素で指定された関数を呼び出します。さらに、関数が適用されるコンテキストを渡すことができます。forEach
配列のネイティブのように機能します。
iterator.call(context, obj[i], i, obj)
undefined を返します。
invoke
通常、メソッド名を文字列として取得し、指定されたセットの各要素についてメソッドを動的に検索します。次に、その要素にメソッドを適用します。さらに、いくつかの引数を渡すことができます。
(_.isFunction(method) ? method : obj[i][method]).apply(obj[i], args);
呼び出しの結果を返しますが、基本的にはmap
.