9个JavaScript日常开发小技巧
1.生成指定范围的数字
在某些情况下,我们会创建一个处在两个数之间的数组。假设我们要判断某人的生日是否在某个范围的年份内,那么下面是实现它的一个很简单的方法
letstart=1900,end=2000; [...newArray(end+1).keys()].slice(start); //[1900,1901,...,2000] //还有这种方式,但对于很的范围就不太稳定 Array.from({length:end-start+1},(_,i)=>start+i);
2.使用值数组作为函数的参数
在某些情况下,我们需要将值收集到数组中,然后将其作为函数的参数传递。使用ES6,可以使用扩展运算符(...)并从[arg1,arg2]>(arg1,arg2)中提取数组:
constparts={ first:[0,2], second:[1,3], } ["Hello","World","JS","Tricks"].slice(...parts.second) //["World","JS"]
3.将值用作Math方法的参数
当我们需要在数组中使用Math.max或Math.min来找到最大或者最小值时,我们可以像下面这样进行操作:
constelementsHeight=[...document.body.children].map( el=>el.getBoundingClientRect().y ); Math.max(...elementsHeight); //474 constnumbers=[100,100,-1000,2000,-3000,40000]; Math.min(...numbers); //-3000
4.合并/展平数组中的数组
Array有一个很好的方法,称为Array.flat,它是需要一个depth参数,表示数组嵌套的深度,默认值为1。但是,如果我们不知道深度怎么办,则需要将其全部展平,只需将Infinity作为参数即可