你不知道的数组去重
1. 双重循环
1 |
|
时间复杂度 o(n^2) 空间复杂度 o(n)
优点: 兼容性好,
缺点: 代码较多, 时间复杂度也高。
2. indexOf
返回 某个指定字符串在字符串中首次出现的位置, 如果没有匹配到返回 -1
1 |
|
时间复杂度 o(n^2)
- 排序去重 sort
sort(compareFunction) 排序原理
如果不写compareFunction 的话会按照Unicode字符编码去排序也就有时候我们会看到
800 会排在 9 前面function compareFunction(a, b) {
return a - b;
}
- compareFunction(a, b) 返回结果 小于0则按照升序排列;
- 大于0按照降序排列
- 等于0保持原来顺序
1 |
|
- ES6 Set
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
1 |
|
- Map ES6
一个Map对象在迭代时会根据对象中元素的插入顺序来进行 — 一个
for...of
循环在每次迭代后会返回一个形式为[key,value]的数组。 方法has() 返回一个bool值,用来表明map 中是否存在指定元素.
set() 方法为
Map
对象添加或更新一个指定了键(key
)和值(value
)的(新)键值对
1 |
|