提案された実装:
_.repeat("0",10)
// => ["0","0",... 10 times]
または、次のように_.range関数を変更します。
_.range(0,0,10), instead of outputting [] outputs the above.
ユースケースは次のとおりです。
var values = ["A","B","C"];
_.object(values)
// => {"A":undefined,"B":undefined,"C":undefined} // wonderful, as expected
しかし、キーと値のペアのすべての値を同じ値に初期化する場合はどうなりますか?
これは別のオプションである可能性がありますが、機能しません。
_.object(values,"0") // provide scalar instead of array
// => {"A":undefined,"B":undefined,"C":undefined} // same as before
これは、_repeatが存在する場合に機能します。
_.object(values,_.repeat("0",values.length))
// => {"A":"0","B":"0","C":"0"}
配列反復関数の場合は+1。 _.range
は数値範囲専用なので、変更しません。
別のメソッドの代わりに、 Lo-Dashのように、 _.times
を変更して、各callback
呼び出しの結果をできます。
var zeros = _.times(10, function() { return 0; });
// => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ 1 @ jdalton。
私には良さそうです-それのために行きなさい。
最も参考になるコメント
別のメソッドの代わりに、 Lo-Dashのように、
_.times
を変更して、各callback
呼び出しの結果をできます。