10个不常被提及的JavaScript小技巧

1、过滤数组重复值

  作用:数组去重

  方法:Es6 中 Set 方法,Set类似于数组,但是成员的值都是唯一的,结合拓展运算符(...)创建一个新的数组,达到过滤原数组重复值的功能,原数组不变;

  示例:

   

注意:包含 object、function、array下不适用

2、短路求值

  作用:简化 if 判断值的有效性

  方法:使用 逻辑与( && )、逻辑或( || )

  原理:

        与( &&)运算符返回第一个 表达式为 false 的值,当所有操作数都是 true 时,将返回最后一个表达式的结果;

        或( || )运算符返回第一个 true 值,当所有操作数都是false时,将返回最后一个表达式的结果;

  示例:

   

   

   

   

   

3、转换 Boolean 型

  作用:常规的 布尔值只有 true 、false;但是 在 JavaScript 中,除了0 、‘’、null、undefined、NaN、false其他的我们都可以认为是 truthy;

  方法:使用 负( !)运算符,将一系列的变量转换成 布尔值

  示例:

  

4、转换 String 型

  作用:通过连接符( + )将一个 Number 类型的变量转换成 String 类型

  方法:连接符( + )

  示例:

  

5、转换 Number 类型

  作用:通过连接符 ( + )、英文波浪号 ~ 将 string类型变量转换为 Number 型

  方法:

   连接符:+ 缺点是在某些上下文中被解释为连接操作符

   波浪号:~~ 缺点只能转换为整数(舍弃小数点),不能转换为浮点数 ,一个波浪号 ~ 被称为 按位不运算符 等价于  -n-1  ,使用两个可以有效的否定运算  - (-n-1)-1 = n

  示例:

  

6、快速求幂

  作用:求幂方法简写

  方法:Es7 中 幂运算符 **

  示例:

  

7、快速 Float 转 int 类型

  作用:简化平时使用 Math.floor()、Math.ceil()、Math.round()将 float 转 int 

  方法: | (位或运算符)同样可以使用 ~~,两者都可以将 string 转换为 Number 型,截断小数点

  示例:

  

9、开头数组截取

  作用:删除数组末尾值,以下方法比 splice 更快

  方法:length 、slice 方法,两者不同点是前者是直接改变原数组,后者是 返回新截取的数组

  示例:

 

10、截取数组末尾 n 位

  作用:返回截取数组后 n 位的新数组

  方法:slice ()方法

  示例:

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-11-17 16:43  忙着可爱呀~  阅读(13)  评论(0)    收藏  举报