javascript 数组去重复(在线去重工具)
投稿:mdxy-dxy
很多情况下我们需要去掉重复的内容,一般我们都是将很多内容放到一个数组里面,然后再去重复,这里简单为大家整理一下
第一种方法:
<textarea id="list" class="toolarea">脚本之家 www.jb51.net www.baidu.com www.jb51.net 脚本之家 shouce.jb51.net www.jb51.net tools.jb51.net www.baidu.com shouce.jb51.net tools.jb51.net 脚本之家 www.jb51.net</textarea> <input type="button" onclick="process()" value="去重处理" class="bt-green"> <script type="text/javascript"> function unique(ary) { var i = 0, gid='_'+(+new Date)+Math.random(), objs = [], hash = { 'string': {}, 'boolean': {}, 'number': {} }, p, l = ary.length, ret = []; for (; i < l; i++) { p = ary[i]; if (p == null) continue; tp = typeof p; if (tp in hash) { if (!(p in hash[tp])) { hash[tp][p] = 1; ret.push(p); } } else { if (p[gid]) continue; p[gid]=1; objs.push(p); ret.push(p); } } for(i=0,l=objs.length;i<l;i++) { p=objs[i]; p[gid]=undefined; delete p[gid]; } return ret; } function process(){ list = document.getElementById('list'); arr = list.value.split('\n'); arr = unique(arr); list.value = ""; for(key in arr){ list.value += arr[key] + '\n'; } alert("处理完成!"); } </script>
第二种方法
function sx(){ var rntArray=[],temp,hasValue; var array=document.getElementById("neirong").value.split("\n"); for(var i in array){ temp=array[i]; hasValue=false; for(var j in rntArray){ if(temp===rntArray[j]){ hasValue=true; break; } } if(hasValue===false){ rntArray.push(temp); } } document.getElementById("neirong1").value=rntArray.join("\n"); }