我一直在尝试为用户选择小时、分钟的下拉菜单生成值。
为了获得分钟的可能值,我使用了这个:
_.range(1, 61)
这会生成一个类似
的数组[1, 2, 3 ... 60]
但我要求它是有形式的
[01, 02, 03 ... 60]
有没有一种使用下划线的简洁方法?
最佳答案
在 FF 中,很快在其他浏览器中,使用 padStart
:
_.range(1, 61) . map(num => String(num).padStart(2, '0'))
另一种方法是
_.range(1, 61) . map(num => ('0' + num).slice(-2));
这会在所有数字的开头添加一个零,但随后只取结果的最后两个字符。
函数式方法是编写一个高阶函数,它获取长度并返回一个将其输入填充到该长度的函数:
function make_padder(len) {
return str => ('0000000000000' + str).slice(-len);
}
现在你可以写了
_.range(1,61) . map(make_padder(2))
关于javascript - 如何使用带前导 0 的 underscore.js 生成一系列数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37019973/