javascript 数组去重复(在线去重工具)

在线文本去重复工具

第一种方法:

<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");
 }
(0)

相关推荐

  • Javascript 数组去重的方法(四种)详解及实例代码

     Javascript 数组去重的四种方法 四种算法来实现这个目的: 第一种方法: Array.prototype.unique1 = function () { var n = []; //一个新的临时数组 for (var i = 0; i < this.length; i++) //遍历当前数组 { //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (n.indexOf(this[i]) == -1) n.push(this[i]); }

  • javascript数组去重方法分析

    本文实例讲述了javascript数组去重方法.分享给大家供大家参考,具体如下: 方法一. 思路:创建一个新的空数组,循环遍历旧数组,用indexOf()方法,可以取得元素在数组中的位置,如果值为-1表示不存在.那么新数组用indexOf去获取老数组的每一个元素,如果值为-1表示不存在,就把他push到新数组里,最后输出新数组即去重后的数组 var arr=[24,56,74,89,24,56,78,09,24]; var new_arr=[]; for(var i=0;i<arr.length

  • js二维数组定义和初始化的三种方法总结

    方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知长度的二维数组 var tArray = new Array(); //先声明一维 for(var k=0;k<i;k++){ //一维长度为i,i为变量,可以根据实际情况改变 tArray[k]

  • javascript稀疏数组(sparse array)和密集数组用法分析

    本文实例讲述了javascript稀疏数组(sparse array)和密集数组用法.分享给大家供大家参考,具体如下: 学习underscore.js数组相关API的时候,遇到了sparse array这个东西,以前没有接触过. 这里学习下什么是稀疏数组和密集数组. 什么是密集数组呢?在Java和C语言中,数组是一片连续的存储空间,有着固定的长度.加入数组其实位置是address,长度为n,那么占用的存储空间是address[0],address[1],address[2].......addr

  • js中通过split函数分割字符串成数组小例子

    复制代码 代码如下: <script language="javascript"> str="2,2,3,5,6,6"; //这是一字符串 var strs= new Array(); //定义一数组 strs=str.split(","); //字符分割 for (i=0;i<strs.length ;i++ ) { document.write(strs[i]+"<br/>"); //分割后的

  • JS array 数组详解

    1.数组的声明方法 (1): arrayObj = new Array(); //创建一个数组. 复制代码 代码如下: var arr1 = new Array(); (2):arrayObj = new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度. 复制代码 代码如下: var a = new Array(5); (3):arrayObj = new Array([element0[, element1[, ...[, elementN]]]]) 创建一个数组并赋

  • js数组与字符串的相互转换方法

    熟悉js的朋友很多都遇到过js的数组与字符串相互转换的情况,本文就此作一简单介绍,示例如下: 一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二.字符串转数组 实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下: var s = "abc,abcd,aaa"; ss = s.split(","

  • js数组去重的hash方法

    对于 JavaScript 数组去除重复项,现在有多种方法,其中一种是hash,如下: if (!Array.prototype.unique) { Array.prototype.unique = function () { var hash = {}, result = [], item; for (var i = 0; i < this.length; i++) { item = this[i]; if ( !hash[item] ) { hash[item] = true; result

  • 体验js中splice()的强大(插入、删除或替换数组的元素)

    处理数组的方法很多,javascript splice()算是最强大的了,它可以用于插入.删除或替换数组的元素.下面来一一介绍! 1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 2.插入-向数组指定位置插入任意项元素.三个参数,第一个参数(其实位置),第二个参数(0),第三个参数(插入的项) 3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数.第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项) 看下

  • JavaScript中的稀疏数组与密集数组[译]

    1.稀疏数组 创建一个指定长度的稀疏数组很简单: 复制代码 代码如下: > var a = new Array(3); > a [ , , ] > a.length 3 > a[0] undefined 当你遍历它时,你会发现,它并没有元素.JavaScript会跳过这些缝隙. 复制代码 代码如下: > a.forEach(function (x, i) { console.log(i+". "+x) }); > a.map(function (x,

  • 详解JavaScript中数组的reduce方法

    介绍 我们先来看看这个方法的官方概述:reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. 你一定也和我一样看的有点迷糊,其实reduce接收的就是一个回调函数,去调用数组里的每一项,直到数组结束. 我们来举个例子大家就很明白了. 假设我有一串数组,数组里放的全是数字,我要算出这些数字的总和是多少.正常情况下我们会循环,然后一个个加,有了reduce就不用那么麻烦了,只用一行代码. var total = [0,1,2,3,4

  • JS克隆,属性,数组,对象,函数实例分析

    本文实例讲述了JS克隆,属性,数组,对象,函数.分享给大家供大家参考,具体如下: <script type="text/javascript"> /* 克隆原型得到对象 */ function clone(object) { function F() {} F.prototype = object; return new F; } var Person = { name: 'default name', getName: function() { return this.n

  • js数组循环遍历数组内所有元素的方法

    例,for(){}遍历数组 复制代码 代码如下: <script type="text/javascript"> <!--var arr = new Array(13.5,3,4,5,6);for(var i=0;i<arr.length;i++){ arr[i] = arr[i]/2.0;}alert(arr); //--> </script> 例,for in循环遍历数组 复制代码 代码如下: <html><body>

随机推荐