js怎么实现类似python的range函数
let range = (start, end) => new Array(end - start).fill(start).map((el, i) => start + i);
1.Array.from
Array.from(Array(end-start),(el,i)=>start+i)
2.Array.fill.map
Array(end - start).fill(start).map((el, i) => start + i)
3.[...Array.keys()].map
[...Array(end-start).keys()].map((el, i) => start + i)
function range(start,end){
var arr = [];
for(var i = start;i < end;i++){
arr.push(i);
}
return arr;
}
range(0,5);
Object.defineProperty(Array.prototype,'range',{
value:function(start,end){
this.length = end-start;
for(var i=0;i<this.length;i++){
this[i] = start+i;
}
},
enumberable:false
})
var arr = new Array();
console.log(arr.range(0,3)); //[0,1,2]
range = (start,end,step)=>[...function*(){while(start<end)yield start,start+=step}()]
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
一个我经常使用的,而且最短的方式: