笔试题:请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个仅包含被删除的重复条目的新数组。
像这种找重复元素的,就给它弄一个object,每存数组中的每个元素,并统计出现次数。 object("数组元素": 出现次数)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>给Array添加一个原型方法</title>
<script>
Array.prototype.delRepeat=function() {
//tempRepeat保存重复数组项
var tempRepeat = [];
var obj = {}; //保存数组中每项,及其出现的次数
//遍历数组
for (var i = 0; i < this.length; i++) {
if (obj[this[i]]) {
if(obj[this[i]]==1) {
tempRepeat.push(this[i]);
obj[this[i]]++;
delete(this[i]);
}
}
else {
obj[this[i]] = 1;
}
}
this.filter(function(){ return true;});
return tempRepeat;
}
var a=[1,3,"eirkgm",4,6,"eirkgm",3,3,"eirkgm",3,3,3,"eirkgm",4];
alert(a.delRepeat());
</script>
</head>
<body>
原型方法用途: 删除数组条目中重复的条目,返回仅包含重复条目的新数组。
</body>
</html>