方法一:遍历比较
function unique(arr) {
const res=[]
arr.forEach(item => { //数组遍历
if (res.indexOf(item) < 0) { //数组遍历
res.push(item)
}
});
return res
}
unique([20, 30, 30, 50, 4, 4]) //[20, 30, 50, 4]
方法二:ES6:Set
set ES6 提供新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set本身是一个构造函数, 用来生成 Set 数据结构。
Set函数可以接受一个数组作为参数用来初始化。
function unique(arr){
return [...new Set(arr)]
}
console.log(unique([20, 30, 30, 50, 4, 4]))
总结:两者比较,遍历方法需要经过两层遍历,相对来说使用set方法性能更优。
网友评论