предложено подразумевает:
_.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
, поскольку он предназначен для диапазонов номеров.
Вместо другого метода мы могли бы просто модифицировать _.times
чтобы возвращать результат каждого вызова callback
, как это делает Lo-Dash :
var zeros = _.times(10, function() { return 0; });
// => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+1 @jdalton.
Для меня это звучит хорошо - дерзай.
Самый полезный комментарий
Вместо другого метода мы могли бы просто модифицировать
_.times
чтобы возвращать результат каждого вызоваcallback
, как это делает Lo-Dash :