js去除数组中的重复项
Posted 我的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js去除数组中的重复项相关的知识,希望对你有一定的参考价值。
js的Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,可以自己对其进行扩展。
第一种思路是先把数组进行排序,然后比较前后元素是否相等,相等则continue,否则就记录到返回值中:
Array.prototype.unique = function () { var temp = []; this.sort(); var len = this.length; for(i = 0; i < len; i++) { if( this[i] == this[i+1]) { continue; } temp[temp.length]=this[i]; } return temp; }
另外,也可以使用js动态语言的特性,使用一个动态更新的对象来判断元素是否重复:
function unique(arr) { var result = [], hash = {}; for (var i = 0, elem; (elem = arr[i]) != null; i++) { if (!hash[elem]) { result.push(elem); hash[elem] = true; } } return result; }
以上是关于js去除数组中的重复项的主要内容,如果未能解决你的问题,请参考以下文章