の_.partialRight
ファンクションでlodash(v4.6.1)関数を実行して、_.map
コールバックに戻り、不正な結果を取得しています。Lodash partialRight padStart map悪い結果をもたらします
リプロ:これをやっているlodashコードにダイビング後
_.padStart("0", 2, "0");
// "00"
var f = _.partialRight(_.padStart, 2, "0");
f("0");
// "00"
_.map(["0"], function(s) { return f(s); });
// ["00"]
_.map(["0"], f);
// ["0"]
、私たちはここに来る:この時点iteratee
で
function arrayMap(array, iteratee) {
var index = -1,
length = array.length,
result = Array(length);
while (++index < length) {
result[index] = iteratee(array[index], index, array);
}
return result;
}
は、上記の宣言f
機能です。それよりもはるかにコードに潜り込むことなく、私は_.partialRight
から追加された引数が、その関数で呼び出された引数の後に追加されると仮定できます。
これで質問の部分に到達しました。これはlodashのバグ/制限ですか?これを行うには良い方法がありますか?