数组去重最佳方案

1. filter

  1. var a = [1, 1, '1', '2', 1]
  2. function unique(arr) {
  3. var obj = {}
  4. return arr.filter(function(item, index, array){
  5. return obj.hasOwnProperty(typeof item + item) ?
  6. false :
  7. (obj[typeof item + item] = true)
  8. })
  9. }
  10. console.log(unique(a)) // [1, 2, "1"]

时间复杂度是 O(n)

2. Set

  1. const unique = a => [...new Set(a)]

数字格式化

  1. let n = 12321939
  2. n.toLocaleString('en-US')
  3. // 12,321,939

交换2个整数

除了赋值解构以外还可以使用异或运算

  1. let a = 3,b = 4
  2. a ^= b
  3. b ^= a
  4. a ^= b
  5. console.log(a, b)

类数组转数组


最普通的方法就是Array.prototype.slice.call(arguments)

第二种方法是使用Array.fromapi,需要参数具有length属性

  1. var arr = Array.from(arguments);

第三种方法则是扩展运算符

  1. var arr = [...arguments]