例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>
|
|