<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>
在JavaScript中可以用prototype來擴充已有類增加自己的方法,在這裡提供對Array的擴充可減少許多工作量。
排序的做法:
<script type="text/javascript">
function sortNumber(a,b)
{
return a - b
}
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "<br />")
document.write(arr.sort(sortNumber))
</script>
<script type="text/javascript">
var ay = [{id:1,name:"wxw1",num:1},{id:2,name:"wxw2",num:7},{id:3,name:"wxw3",num:5},{id:4,name:"wxw4",num:6}]
ay.sort(function(a,b){
return a.num-b.num;
})
for(var a in ay){
alert(ay[a].id);
}
</script>