前端提高篇(二十八)练习8数组去重
程序员文章站
2022-03-09 15:20:55
...
要求:
1.给Array本地对象增加一个原型方法
2.它用于删除数组条目中重复的条目(可能有多个)
3.返回值是被删除的重复的元素组成的新数组
效果是:
var x = ['a','b','c','d','b','a','e'];
var y = x.distinct();
//y:['b','a']
注意点1:在js中,不能单独用in来判断某一个元素是否在数组中
注意点2:在原型上增加方法,此处是在Array的原型增加方法,用的是:Array.prototype.函数名=function(){}
注意点3:因为是在原型上增加一个方法,即使用时是x.distinct();这样的,在原型的distinct方法里的this,指的就是调用这个方法的对象本身x
Array.prototype.distinct = function(){
console.log('this',this)
}
运行效果:this与x的值一致
Array.prototype.distinct = function(){
var res = [];
for(var i =0; i < this.length; i++){
for(var j = i+1; j < this.length;){
if (this[i] === this[j]){
res.push(this.splice(j,1)[0]);
}else{
j++;
}
}
}
return res;
}
运行效果:x中没有重复的值,原本重复的值都存到了y中
下一篇: 爱奇艺用户怎么修改个性签名?
推荐阅读