上来就干货!
function getNumArr (min,max){
return Array.from(Array(max - min + 1), (v, k) => k + min);
}
调用: getNumArr(2, 10)
得到:[2, 3, 4, 5, 6, 7, 8, 9, 10]
ps:
1、Array(x) 方法生成一个长度为x的空数组
2、Array.from 方法从一个类似数组或可迭代对象中创建一个新的,浅拷贝的数组实例。
如果指定了map参数,新数组中的每个元素会执行该回调函数。
-----------------更-----------------
加上步进,以及步进可能为小数
function getNumArr(min, max, space) {
//步进带几位小数
let n = 0;
const spotIndex = String(space).indexOf(".") + 1;
if (spotIndex) {
n = String(space).length - spotIndex;
}
// 10的n次发
const m = Math.pow(10, n);
//js计算小数时的精度会丢失,所以要把数四舍五入为最接近的整数计算
min = Math.round(min*m);
max = Math.round(max*m);
space = Math.round(space*m);
// 数组长度(向上取整)
const arrLength = Math.ceil((max - min) / space + 1);
return Array.from(Array(arrLength), (v, k) => (k * space + min) / m);
}
调用: getNumArr(0.6, 2.4, 0.6)
得到:[0.6, 1.2, 1.8, 2.4]