本地对象Array的原型扩展实现代码
Array.prototype.del=function(){
var b={},c,i=0,l=this.length,j;
for(;i<l;i++){
c=this.shift();
c in b ? b[c]++ : b[c]=0;
}
for(j in b){
if(b[j]>0)this.push(+j||j);
}
return this;
}
var a=[1,2,2,3,3,3,'a','b','b'];
alert(a.del());
Array.prototype.del=function(){
return (function (i, n, j, u, o){
for (; i < j; i++) {
o = this[i];
o in u ? 0 : (u[this[n++] = o] = 1)
}
this.length = n;
return this
}).call(this, 0, 0, this.length, {})
}
var a=[1,2,2,3,3,3,'a','b','b'];
alert(a.del())
相关推荐
-
javascript Array数组对象的扩展函数代码
今天重点讲下 如何给Array对象扩展 1.直接在Array.prototype 上扩展 2.用自己方法对数组对象进行扩展 直接在Array.prototype上扩展,不能直接对dom对象使用(如:document.getElementsByTagName('div')得到的nodeList); 对有洁癖的同学而言 也破了原始生态环境的 : ) 先来看下 yui操作数组的一些方法,这里我对源码简单剥离并改动了下 复制代码 代码如下: (function(){ var YArray; YArray
-
javascript Array对象使用小结
Javascript的数组实质是对象,它把数组的下标转换成字符串,用其作为属性,因此它明显比真正的数组慢,但它可以更方便地使用. 改变自身pop,push,reverse,shift,sort,splice,unshift, 不改变自身concat,join,slice,indexOf,lastIndexOf(后两个为1.6),1.6新增的迭代器:map,filter,forEach,every,some,1.8新增reduce,reduceRight Array 对象的方法 FF: Firef
-
JavaScript Array扩展实现代码
indexOf 返回元素在数组的索引,没有则返回-1.与string的indexOf方法差不多. 如果其他浏览器没有实现此方法,可以用以下代码实现兼容: 复制代码 代码如下: Array.prototype.indexOf = function(el, start) { var start = start || 0; for ( var i=0; i < this.length; ++i ) { if ( this[i] === el ) {
-
javascript Array对象基础知识小结
对于Array对象我的总结思想是:5法,3招,12式 1.声明5法:只针对一维数组,当然还有二维三维,这里就不做解释了 复制代码 代码如下: var a = new Array(); var a = new Array; var a = new Array(10);//创建Array对象,并指定数组中项的个数 var a = new Array("red","blue","green"); var a = ["red",&qu
-
本地对象Array的原型扩展实现代码
复制代码 代码如下: Array.prototype.del=function(){ var b={},c,i=0,l=this.length,j; for(;i<l;i++){ c=this.shift(); c in b ? b[c]++ : b[c]=0; } for(j in b){ if(b[j]>0)this.push(+j||j); } return this; } var a=[1,2,2,3,3,3,'a','b','b']; alert(a.del()); 果果的去重方法
-
JavaScript高级程序设计 读书笔记之九 本地对象Array
创建Array对象 复制代码 代码如下: //one var aValues=new Array(); //two var aValues=new Array(20); //three var aColors=new Array(); aColors[0]="red"; aColors[1]="green"; aColors[2]="blue"; //four var aColors=new Array("red","
-
数组Array进行原型prototype扩展后带来的for in遍历问题
通常在JavaScript中用for与for in遍历数组结果是没有什么区别的,它的循环变量i都是从0开始的数组索引(for in如果遍历的是非数组对象的属性集合,则这个i就是属性名,或称之为key).另外要注意一点是:用for in遍历数组,循环变量i是字符串类型的.如果对Array进行原型扩展后,再用for in来对数组进行遍历时就要注意些问题了. 测试代码: 复制代码 代码如下: Array.prototype.max = function() { return Math.max.appl
-
收集的一些Array及String原型对象的扩展实现代码
从无忧脚本收集过来的,有些的确还不错,比较实用,值得收藏一下. 扩展Array的原型对象的方法 复制代码 代码如下: // 删除数组中数据 Array.prototype.del = function(n) { if (n<0) return this; return this.slice(0,n).concat(this.slice(n+1,this.length)); } // 数组洗牌 Array.prototype.random = function() { var nr=[], me=
-
JavaScript常用本地对象小结
一.javascript是面向对象的编程语言 封装:把相关的信息(无论数据或方法)存储在对象中的能力 聚集:把一个对象存储在另一个对象内的能力 继承:由另一个类(或多个类)得来类的属性和方法的能力. 多态:编写能以多种形态运行的函数或方法的能力 二.Array对象 使用单独的变量名来存储一系列的值. 2.1创建数组对象 var aValues = new Array(); var aValues = new Array(25); var aColors = new Array("red"
-
对象的类型:本地对象(1)
在ECMAScript中,所有对象并非同等创建的.一般说来,可以创建并使用的对象有三种. 3.3.1 本地对象 ECMA-262把本地对象(native object)定义为"独立于宿主环境的ECMAScript实现提供的对象".简单说来,本地对象就是ECMA-262定义的类(引用类型).它们包括: 你已经从上一章了解了一些本地对象(Object.Function.String.Boolean和Number),本书后面的章节中还会讨论一些本地对象.现在要讨论的两种重要的本地对象是Arr
-
.NET Core对象池的应用:扩展篇
目录 一.池化集合 二.池化StringBuilder 三.ArrayPool<T> 四.MemoryPool<T> 原则上所有的引用类型对象都可以通过对象池来提供,但是在具体的应用中需要权衡是否值得用.虽然对象池能够通过对象复用的方式避免GC,但是它存储的对象会耗用内存,如果对象复用的频率很小,使用对象池是不值的.如果某个小对象的使用周期很短,能够确保GC在第0代就能将其回收,这样的对象其实也不太适合放在对象池中,因为第0代GC的性能其实是很高的.除此之外,对象释放到对象池之后就
-
在JavaScript实例对象中改写原型方法详情
目录 在JavaScript中,我们通常可以像下面的代码这样来简单地定义一个类: var sample = function() { // constructor code here } sample.prototype.func1 = function() { // func1 code here } sample.prototype.func2 = function() { // func2 code here } /* more sample prototype functions her
-
js对象继承之原型链继承实例
本文实例讲述了js对象继承之原型链继承的用法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: <script type="text/javascript"> //定义猫的对象 var kitty = {color:'yellow',bark:function(){alert('喵喵');},climb:function(){alert('我会爬树')}}; //老虎对象的构造函数 function tiger(){ this.color = "ye
-
PHP var_dump遍历对象属性的函数与应用代码
本文章下面我们要为你提供二种关于遍历对象属性方法,并且举例说明遍历对象属性在php中的应用.可以看出私有变量与静态变量时获取不到的,只有定义为公共变量才可以读出来. 遍历对象属性第一种方法: 复制代码 代码如下: <?php class foo { private $a; public $b = 1; public $c; private $d; static $e; public function test() { var_dump(get_object_vars($this)); } } $
随机推荐
- AngularJS学习笔记之TodoMVC的分析
- 配置apache默认使用ssl的方法
- 详解spring boot mybatis全注解化
- 解决Spring Mvc中对象绑定参数重名的问题
- javascript 静态对象和构造函数的使用和公私问题
- 一句话 asp木马加密版 彻底突破杀毒软件
- C语言实现的阶乘,排列和组合实例
- javascript版2048小游戏
- Java数据结构之散列表(动力节点Java学院整理)
- Javascript实例教程(19) 使用HoTMetal(1)
- Android自定义View实现圆环交替效果
- JQuery 使用attr方法实现下拉列表选中
- PowerShel程序执行完后删除脚本自身的方法
- jQuery 特性操作详解及实例代码
- SQL 合并多行记录的相同字段值
- jQuery使用$.ajax提交表单完整实例
- jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
- 每天一篇javascript学习小结(String对象)
- 基于JS分页控件实现简单美观仿淘宝分页按钮效果
- 你所未知的3种Node.js代码优化方式