// 你能想到几种方法
// 双层for循环
// filter筛选/indexOf
// reduce累加器
// es6 set
///////////// 双层for循环
function first(str){
let arr = []
for(let i = 0; i < str.length ; i++){
let status = false
for(let j = i+1;j<str.length;j++){
if(str[i] == str[j]){
status = true
}
}
if(!status) arr.push(str[i])
}
return arr
}
let str = [1,2,1,3,2,3,4,5,5,4]
// console.log(first(str))
///////////// filter筛选器 indexOf返回数与下标是否匹配
function second(str){
return str.filter((val, index)=>{
return str.indexOf(val) === index
})
}
// console.log(second(str))
//////////// 累加器 reduce
function third(str){
return str.reduce((per,cur)=>{
let arr = per
arr.includes(cur)? arr : arr.push(cur)
return arr
},[])
}
// console.log(third(str))
/////////// es6 set
function fourth(str){
return Array.from(new Set(str))
}
console.log(fourth(str))
console