vorgeschlagene Impl:
_.repeat("0",10)
// => ["0","0",... 10 times]
oder ändern Sie alternativ die Funktion _.range so, dass:
_.range(0,0,10), instead of outputting [] outputs the above.
Hier ist der Anwendungsfall:
var values = ["A","B","C"];
_.object(values)
// => {"A":undefined,"B":undefined,"C":undefined} // wonderful, as expected
Aber was ist, wenn ich jeden Wert in den Schlüssel/Wert-Paaren auf den gleichen Wert initialisieren möchte?
Dies könnte eine andere Option sein, funktioniert aber nicht:
_.object(values,"0") // provide scalar instead of array
// => {"A":undefined,"B":undefined,"C":undefined} // same as before
Dies würde funktionieren, wenn _repeat vorhanden wäre:
_.object(values,_.repeat("0",values.length))
// => {"A":"0","B":"0","C":"0"}
+1 für eine Array-Wiederholungsfunktion. Ich würde _.range
dafür nicht ändern, da es für Nummernkreise bestimmt ist.
Anstelle einer anderen Methode könnten wir einfach _.times
, um das Ergebnis jedes callback
Aufrufs zurückzugeben, wie es Lo-Dash tut :
var zeros = _.times(10, function() { return 0; });
// => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+1 @jdalton.
Klingt gut für mich - mach es.
Hilfreichster Kommentar
Anstelle einer anderen Methode könnten wir einfach
_.times
, um das Ergebnis jedescallback
Aufrufs zurückzugeben, wie es Lo-Dash tut :