假设有这样一个数组,其中 3 、1 、7都不止出现一次
let arr = [1,2,1,3,5,5]
想得到多次出现的元素变为出现一次,即去除重复的元素
arr = [1,2,3,5]
1. 利用 ES6的 Set 数据结构
使用from() 函数将类数组对象转化成数组
Array.from(new Set(arr))
利用扩展运算符将类数组对象转化成数组
[...new Set(arr)]
2. filter() 方法过滤掉重复元素实现的去重效果
arr.filter((value, index) => {
return arr.indexOf(value) === index
})
3. 利用es6 数据结构 Map 来判断元素是否重复
let map = new Map()
let new_arr = [] // 存放新数组
for(let i in arr) {
let item = arr[i]
if(!map.has(item)) {
map.set(item, true)
new_arr.push(item)
}
}
4. 利用 indexOf() 方法判断元素的重复性
let new_arr = []
for(let i in arr) {
let item = arr[i]
if(new_arr.indexOf(item) === -1) {
new_arr.push(item)
}
}
5. includes() 方法来判断元素的重复性
let new_arr = []
for(let i in arr) {
let item = arr[i]
if(!new_arr.includes(item)) {
new_arr.push(item)
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。