基于内置类而写的方法
<h3>基于内置类的原型扩展方法</h3>
<pre><code class="language-javascript">Array.prototype.myDistrict = function myDistrict()
{
//->this:ary 当前要处理的那个数组
var obj = {};
for(var i = 0;i<this.length;i++){
var item = this[i];
if(typeof obj[item] !== 'undefined'){
this[i] = this[this.length-1];
this.length --;
i--;
continue;
}
obj[item] = item
}
obj = null;
return this;//=>实现链式写法,返回去重后的数组,这样执行完成后,我们还可以调取数组中的其它方法
};
var ary = [1,2,3,3,4,4,5,5];
//->链式写法:执行完成一个方法紧跟着就调取下一个方法,返回的结果依然是当前类的实例,这样就可以继续调取当前类的其他方法了
ary.myDistrict();
console.log(ary) //[1, 2, 3, 5, 4]
//->链式写法:执行完成一个方法紧跟着就调取下一个方法,返回的结果依然是当前类的实例,这样就可以继续调取当前类的其他方法
ary.sort(function(a,b){
return a - b
}).push(100);
dir(Array.prototype) //->在浏览器后台输入可以查看数组所携带的属性</code></pre>