用惯了Python,写js时,没有range函数,很不方便,于是动手写了一个:
function range(start, end) {
if (end === undefined) {
end = start
start = 0
} else if (end <= start) {
return []
}
return Array(end-start).fill(0).map((el, index) => start + index)
}
这样用:
console.log(range(5))
// [0, 1, 2, 3, 4]
console.log(range(3, 5))
// [3, 4]
然后,TypeScript版长这样:
// Python风格的range函数:range(3) == [0, 1, 2]; range(1, 4) == [1, 2, 3]
function range(start, number, end?: number): number[] {
if (end === undefined) {
end = start
start = 0
} else if (end <= start) {
return []
}
return Array(end-start).fill(0).map((v, i) => start + i)
}