创建固定长度的数组
可以使用 Array.from
API 来创建数组,这个API接受一个类数组的数据或者可迭代的数据作为首个参数,第二个参数接受一个 mapFunction 来对输入的数据进行处理。
const initArray = (num: number) =>
Array.from({ length: num }, (_, i) => i)
这样我们就可以初始化一个固定长度的数组,例如输入5,则返回 [1, 2, 3, 4, 5] 的结果。
创建特定步长值的数组
此函数我们需要传入三个参数,分别是开始和结束值以及设定的步长值。
const genStepArray = (start: number, end: number, step: number) => {
// 包含终末值,所以+1
const len = Math.floor((end - start) / step + 1)
return Array.from({ length: len }, (_, i) => start + i * step)
}
生成字母表数组
利用字母字符串的 ASCII 码来生成特定长度的数字数组,然后再使用 String.fromCharCode
来进行转换。
type Alhpabet = string
const genAlphabet = (start: Alphabet, end: Alphabet) => {
return genStepArray(start.charCodeAt(0), end.charCodeAt(0), 1).map(
(i: number) => String.fromCharCode(i - 32)
)
}
genAlphabet('a', 'z') // ['A', 'B' ... 'Z']