数组去重

利用 Array.from 与 set 去重

  1. const arr = [2, 3, 4, 4, 3]
  2. const newArr = Array.from(new Set(arr))
  3. console.log(newArr) // [2, 3, 4]

数组转对象

  1. const arr = ['a', 'b', 'c']
  2. const obj = { ...arr }
  3. console.log(obj) // { 0: 'a', 1: 'b', 2: 'c' }

转换为数字类型、字符串类型

  1. const age = '18'
  2. const newAge = +age
  3. console.log(typeof newAge) // number
  4. const str = 22
  5. const newStr = str + ''
  6. console.log(typeof newStr) // string

测试代码的运行性能

  1. let start = performance.now()
  2. let sum = 0
  3. for(let i = 0; i < 100000; i++){
  4. sum += 1
  5. }
  6. let end = performance.now()
  7. console.log(start)
  8. console.log(end)
  9. console.log(end - start)

数组扁平化

  1. let arr = [1, [2, 3, [4, [5]]]]
  2. arr.flat(3) // [1, 2, 3, 4, 5]

浮点数转整数

  1. console.log(~~9.33) // 9
  2. console.log(9.33 >> 0) // 9
  3. console.log(9.33 << 0) // 9
  4. console.log(9.33 | 0) // 9

获取数组的最后一项

  1. let arr = [1, 3, 5, 7]
  2. const last = arr.slice(-1)[0]
  3. console.log(last) // 7

避免多条件并列

  1. // 不推荐
  2. if (status === 'red' || status === 'blue' || status === 'green') {
  3. doSomething()
  4. }
  5. // 推荐使用 枚举+includes 的方式
  6. const enums = ['red', 'blue', 'green']
  7. if (enums.includes(status)) {
  8. doSomething()
  9. }