数组去重最佳方案
1. filter
var a = [1, 1, '1', '2', 1]
function unique(arr) {
var obj = {}
return arr.filter(function(item, index, array){
return obj.hasOwnProperty(typeof item + item) ?
false :
(obj[typeof item + item] = true)
})
}
console.log(unique(a)) // [1, 2, "1"]
时间复杂度是 O(n)
2. Set
const unique = a => [...new Set(a)]
数字格式化
let n = 12321939
n.toLocaleString('en-US')
// 12,321,939
交换2个整数
除了赋值解构以外还可以使用异或运算
let a = 3,b = 4
a ^= b
b ^= a
a ^= b
console.log(a, b)
类数组转数组
最普通的方法就是Array.prototype.slice.call(arguments)
第二种方法是使用Array.from
api,需要参数具有length属性
var arr = Array.from(arguments);
第三种方法则是扩展运算符
var arr = [...arguments]