Underscore: función de matriz: repetir val x veces

Creado en 21 nov. 2012  ·  4Comentarios  ·  Fuente: jashkenas/underscore

impl sugerido:

_.repeat("0",10)
// => ["0","0",... 10 times]

o, alternativamente, modifique la función _.range para que:

_.range(0,0,10), instead of outputting [] outputs the above.

Aquí está el caso de uso:

var values = ["A","B","C"];
_.object(values)
// => {"A":undefined,"B":undefined,"C":undefined} // wonderful, as expected

Pero, ¿qué pasa si quiero inicializar cada valor en los pares clave / valor con el mismo valor?
Esta podría ser otra opción, pero no funciona:

_.object(values,"0") // provide scalar instead of array
// => {"A":undefined,"B":undefined,"C":undefined} // same as before

Esto funcionaría si existiera _repeat:

_.object(values,_.repeat("0",values.length))
// => {"A":"0","B":"0","C":"0"} 
change

Comentario más útil

En lugar de otro método, podríamos simplemente modificar _.times para devolver el resultado de cada llamada callback , como lo hace Lo-Dash :

var zeros = _.times(10, function() { return 0; });
// => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Todos 4 comentarios

+1 para una función de repetición de matriz. No modificaría _.range por eso, ya que está dedicado a rangos de números.

En lugar de otro método, podríamos simplemente modificar _.times para devolver el resultado de cada llamada callback , como lo hace Lo-Dash :

var zeros = _.times(10, function() { return 0; });
// => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

+1 @jdalton.

Me suena bien, adelante.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

jdalton picture jdalton  ·  4Comentarios

ksullivan picture ksullivan  ·  9Comentarios

acl0056 picture acl0056  ·  5Comentarios

xiaoliwang picture xiaoliwang  ·  3Comentarios

dmaicher picture dmaicher  ·  9Comentarios