1.利用对象
思路:定义一个对象和数组,用对象来判断数组里的每一个元素是否一样,把数组的每一个都作为对象的key如果对象里面存在这个key当前就不添加到新数组中,没过没有就添加到新数组中
const arry=[1,5,3,6,3,5,3,6,6,3,5,8,9,7,8,2,1,5]
function quchong(arry){
let obj={}
let newarry=[]
for(let a of arry){
if(!obj[a]){
obj[a]=1
newarry.push(a)
}
}
return newarry
}
console.log(quchong(arry));
2.利用indexof
indexOf
判断新数组是否有去重的数组的元素,没有的话就push进去
<script>
const arry=[1,5,3,6,3,5,3,6,6,3,5,8,9,7,8,2,1,5]
function quchong(arry){
let newarry=[]
for(let a of arry){
if(newarry.indexOf(a)===-1){
newarry.push(a)
}
}
return newarry
}
console.log(quchong(arry));
</script>
3.利用includes
来判断重复
同一种思想 数组.includes(元素)
返回值是布尔值
<script>
const arry=[1,5,3,6,3,5,3,6,6,3,5,8,9,7,8,2,1,5]
function quchong(arry){
let newarry=[]
for(let a of arry){
if(!newarry.includes(a)){
newarry.push(a)
}
}
return newarry
}
console.log(quchong(arry));
</script>
4.filter和includes
<script>
const arry=[1,5,3,6,3,5,3,6,6,3,5,8,9,7,8,2,1,5]
function quchong(arry){
let newarry=[]
arry.filter(a=>{
if(!newarry.includes(a)){
newarry.push(a)
}
})
return newarry
}
console.log(quchong(arry));
</script>
5.forEach和includes
const arry=[1,5,3,6,3,5,3,6,6,3,5,8,9,7,8,2,1,5]
function quchong(arry){
let newarry=[]
arry.forEach(a=>{
if(!newarry.includes(a)){
newarry.push(a)
}
})
return newarry
}
console.log(quchong(arry));