JS数组去掉重复元素


JS数组去掉重复元素,这里提供3中写法。

var arr =[1,2,3,4,5,6,3,4,7,2,4,1,8];

输出:[1,2,3,4,5,6,7,8];

1.使用indexOf()

 arr.indexOf(a,b)这个方法是查找a在arr中首次出现的位置(b这个参数规定了在arr中开始检索的位置,可写可不写,不写的话检索位置为0).

利用这个方法来判断新数组中是否出现过这个元素,如果新数组中没有这个元素,那么把元素添加到新数组中,如果新数组中已经有这个元素了那就不进行操作,遍历之后得到的新数组即为所求。

 1 

2.不添加新数组的比较

将数组中前一个元素与后面剩下的元素依次进行比较,如果发现两个元素相同,则删除后面的元素。

这里会用到arr.splice(index,n);这个方法是删除数组中的某个元素,删除下标为index的元素,删除n位

3.使用空对象比较

这个方法相对来说比较麻烦,是我前几天学习对象的时候写的方法,主要就是利用对象的属性和属性值来判断这个对象中是否存在这个属性,如果存在这个属性那么就把这个元素在数组中删除当中。

把数组的元素给对象当成属性,对象中没有这个属性,那么就添加这个属性并给属性一个属性值,如果这个对象中有这个属性那么就删除这个数组的元素。

js