如何在javascript中让数组中数字排序去重,求代码

JavaScript015

如何在javascript中让数组中数字排序去重,求代码,第1张

Array.prototype.unique = function(){

this.sort() //先排序

var res = [this[0]]

for(var i = 1 i < this.length i++){

if(this[i] !== res[res.length - 1]){

res.push(this[i])

}

}

return res

}

var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

alert(arr.unique())

思路:

1.先将原数组进行排序

2.检查原数组中的第i个元素 与 结果数组中的最后一个元素是否相同,因为已经排序,所以重复元素会在相邻位置

3.如果不相同,则将该元素存入结果数组中

可以使用js的for循环筛选实现去掉数组中的重复的数据。

需要准备的材料分别是:电脑、浏览器、ultraedit。1、在ue编辑器中新建一个空白的html文件,js文件。

2、在ue编辑器中输入以下html代码。3、在ue编辑器中输入以下js代码。4、编辑完成以后,在ue编辑器中点击保存,格式选择UTF8无BOM。5、在浏览器中打开此html文件,可以看到最终想要实现的去掉数组中的重复的数据效果。

var arr = ["a","2","a","b"]

var obj = {}

for(var i=0i<arr.lengthi++)

{

var item = arr[i]

if(obj[item]==null)obj[item] = 1

else obj[item] = obj[item]+1

}

for(a in obj)

{

var item = obj[a]

if(item>1)alert("重复元素"+a)

}