数组去重及数组的prototype原型
Array.prototype.check= function(){ for(var i=0;i<this.length;i++){ for(var j=i+1;j<this.length;j++){ if(this[i]==this[j]){ this.splice(i,1); i=i-1; } } } } var temp=[1,2,3,3,4,5,5]; temp.check(); alert(temp)
通过使用数组的原型,我们定义了方法check(),在此方法中通过比较两个数组,将相同的数据通过splice()方法去除相同的其中一个或多个,然后通过定义数组,赋予该方法进行数组的操作,得出我们需要的结果。
splice(i,1)其中i 表示的是index位置,1表示的是去除几个数据;
prototype属性(数组)
为数组的类型返回原型的引用
语法
array.prototype
备注
array参数是数组的名称。
用prototype属性为对象的类型提供一组基本功能。
对象的新的实例“继承”了赋予该对象的原型的行为。
例如,若要将方法添加到返回数组的最大元素的值的 Array 对象,请声明函数、将它添加到 Array.prototype 并使用它。
function array_max( ){ var i, max = this[0]; for (i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; } return max; } Array.prototype.max = array_max; var myArray = new Array(7, 1, 3, 11, 25, 9 ); document.write(myArray.max());
所有内部 JavaScript 对象都有一个只读的 prototype 属性。 可将属性和方法添加到原型中,但不能为对象分配其他原型。 但是,可以向用户定义的对象分配新的原型。