例1
代码如下 | 复制代码 |
<script type="text/javascript"> Array.prototype.del = function() { var a = {}, c = [], l = this.length; for (var i = 0; i < l; i++) { var b = this[i]; var d = (typeof b) + b; if (a[d] === undefined) { c.push(b); a[d] = 1; } } return c; } var myArr=['text','text','5','2','2','3','4','5','5']; document.write(myArr.del()); </script> |
例2
代码如下 | 复制代码 |
<script type="text/javascript" language="javascript"> function filterArray(array){ var key = 0; //初始化键值 var arr = new Array(); //声明一个数组 var num = array.length; //数组长度 for(var i = 0 ;i < num;i++){ //对数组进行交叉对比 //当对重复的值对比时,避免对比当前自己,需要在当前的基础上+1,比如array[0],array[1],如果对比array[0]的时候并不是拿自身array[0],而是array[1] for(var j = i+1;j < num;j++){ if(array[i] == array[j]){ //将交叉的数组对比 array[i] = null; //如果相等则 unset break; //并跳出 } } } for(var i = 0;i<num;i++){ //将数组进行for遍历 if(array[i]){ //判断是否为空 arr[key++] = array[i]; //将过滤后的数组给新数组arr赋值 } } return arr; } </script> |
调用方法
代码如下 | 复制代码 |
<script type="text/javascript" language="javascript"> var arrDemo = new Array(1,2,1,1,4,6,7,1,2,6,11,21,11); console.log(filterArray(arrDemo)); alert(filterArray(arrDemo)); </script> |
时间: 2024-08-04 11:15:52