这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战
hello呀,大家好,不知道大家七夕过得怎么样,今天有没有起来学习呢~~ 今天一不小心睡到了十点,开始了不知道写什么的一天,就把我小本本上总结的一些小的知识点梳理一下。
删除数组重复项
今天就写我觉得最简单的一种写法,使用ES6中引入的Set对象类型,它允许我们存储唯一值,与spread运算符(...)一起使用:
const uArr = [...new Set(arr)];
Set每个值都必须是唯一的,因此自动删除了数组中的所有重复项,spread运算符将set转换回新的数组。
区间随机数
有时候我们会遇到在一个范围内生成随机数,在这里使用Math.random()函数生成随机数,然后转换到所需要的范围:
const randomIntFromInterval = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);
交换两个变量
在平时代码中,我们想交换两个变量的值,往往采用重新定义一个变量来进行交换,其实是不需要的:
let one = 'one', two = 'two';
[one, two] = [two, one];
// one = 'two'
// two = 'one'
字符串转换为数字
- 一元运算
const str = '99';
const num = +str; // 99
一元运算是只有一个操作数的运算。操作数位于运算符之前或之后。
还会转换一些其他的值:
+true // 1
+false // 0
+null // 0
Number()
除了这种方法外,我们还有Number()也可以用来将字符串转换为Number类型,如果遇到无法转换的时候,就返回NaN;
Number('99') // 99
Number('1.3=9') // NaN
Number('one') // NaN
parseInt()
parseInt()中String作为第一个参数和转换String的基础,并且将始终返回整数。
parseInt('1111', 10) // 1111
parseInt('11 ps', 10) // 11
parseInt('ps 2', 10) // NaN
parseInt('10.21', 10) // 10
parseInt()会尝试从包含数字的字符串中获取数字,但是如果该字符串不是以数字开头的,结果将是NaN。
parseFloat()如果我们要保留小数部分而不仅仅整数部分,则可以使用parseFloat(),此函数将String作为参数并返回相等的浮点数。
parseFloat('10.21') // 10.21
parseFloat('10.00') // 10
获取数组中的最后一个元素
var array = [1,2,3,4,5];
array.slice(-1); // [5]