在JavaScript中可以用prototype来扩展已有类增加自己的方法,在这里提供对Array的扩展可减少许多工作量:
<
script
>
/*
* 方法:Array.removeAt(Index)
* 功能:删除数组元素.
* 参数:Index删除元素的下标.
* 返回:在原数组上修改数组
*/
Array.prototype.removeAt = function (Index)
{
if (isNaN(Index) || Index > this .length){ return false ;}
for ( var i = 0 ,n = 0 ;i < this .length;i ++ )
{
if ( this [i] != this [Index])
{
this [n ++ ] = this [i]
}
}
this .length -= 1
}
/*
* 方法:Array.remove(obj)
* 功能:删除数组元素.
* 参数:要删除的对象.
* 返回:在原数组上修改数组
*/
Array.prototype.remove = function (obj)
{
if ( null == obj){ return ;}
for ( var i = 0 ,n = 0 ;i < this .length;i ++ )
{
if ( this [i] != obj)
{
this [n ++ ] = this [i];
}
}
this .length -= 1
}
/*
* 方法:Array.Contains(obj)
* 功能:确定某个元素是否在数组中.
* 参数:要查找的Object对象
* 返回:找到返回true,否则返回false;
*/
Array.prototype.Contains = function (obj)
{
if ( null == obj){ return ;}
for ( var i = 0 ,n = 0 ;i < this .length;i ++ )
{
if ( this [i] != obj)
{
return true ;
}
}
return false ;
}
/*
* 方法:Array.IndexOf(obj)
* 功能:搜索指定的Object,并返回第一个匹配项从零开始的索引
* 参数:要查找的Object对象
* 返回:找到返回该元素在数组中的索引,否则返回-1
*/
Array.prototype.IndexOf = function (obj)
{
if ( null == obj){ return ;}
{
for ( var i = 0 ,n = 0 ;i < this .length;i ++ )
{
if ( this [i] == obj)
{
return i;
}
}
}
return - 1 ;
}
/*
* 方法:Array.Clear()
* 功能:消空数组元素.
* 参数:无.
* 返回:空数组
*/
Array.prototype.Clear = function ()
{
this .length = 0 ;
}
</ script >
/*
* 方法:Array.removeAt(Index)
* 功能:删除数组元素.
* 参数:Index删除元素的下标.
* 返回:在原数组上修改数组
*/
Array.prototype.removeAt = function (Index)
{
if (isNaN(Index) || Index > this .length){ return false ;}
for ( var i = 0 ,n = 0 ;i < this .length;i ++ )
{
if ( this [i] != this [Index])
{
this [n ++ ] = this [i]
}
}
this .length -= 1
}
/*
* 方法:Array.remove(obj)
* 功能:删除数组元素.
* 参数:要删除的对象.
* 返回:在原数组上修改数组
*/
Array.prototype.remove = function (obj)
{
if ( null == obj){ return ;}
for ( var i = 0 ,n = 0 ;i < this .length;i ++ )
{
if ( this [i] != obj)
{
this [n ++ ] = this [i];
}
}
this .length -= 1
}
/*
* 方法:Array.Contains(obj)
* 功能:确定某个元素是否在数组中.
* 参数:要查找的Object对象
* 返回:找到返回true,否则返回false;
*/
Array.prototype.Contains = function (obj)
{
if ( null == obj){ return ;}
for ( var i = 0 ,n = 0 ;i < this .length;i ++ )
{
if ( this [i] != obj)
{
return true ;
}
}
return false ;
}
/*
* 方法:Array.IndexOf(obj)
* 功能:搜索指定的Object,并返回第一个匹配项从零开始的索引
* 参数:要查找的Object对象
* 返回:找到返回该元素在数组中的索引,否则返回-1
*/
Array.prototype.IndexOf = function (obj)
{
if ( null == obj){ return ;}
{
for ( var i = 0 ,n = 0 ;i < this .length;i ++ )
{
if ( this [i] == obj)
{
return i;
}
}
}
return - 1 ;
}
/*
* 方法:Array.Clear()
* 功能:消空数组元素.
* 参数:无.
* 返回:空数组
*/
Array.prototype.Clear = function ()
{
this .length = 0 ;
}
</ script >