Array.prototype.indexOf = function(p_var)
{
for (var i=0; i<this.length; i++)
{
if (this[i] == p_var)
{
return(i);
}
}
return(-1);
}
Array.prototype.exists = function(p_var) {return(this.indexOf(p_var) != -1);}
Array.prototype.queue = function(p_var) {this.push(p_var)}
Array.prototype.dequeue = function() {return(this.shift());}
Array.prototype.removeAt = function(p_iIndex) {return this.splice(p_iIndex, 1);}
Array.prototype.remove = function(o)
{
var i = this.indexOf(o); if (i>-1) this.splice(i,1); return (i>-1)
}
Array.prototype.clear = function()
{
var iLength = this.length;
for (var i=0; i < iLength; i++)
{
this.shift();
}
}
Array.prototype.addArray = function(p_a)
{
if (p_a)
{
for (var i=0; i < p_a.length; i++)
{
this.push(p_a[i]);
}
}
}splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
{
for (var i=0; i<this.length; i++)
{
if (this[i] == p_var)
{
return(i);
}
}
return(-1);
}
Array.prototype.exists = function(p_var) {return(this.indexOf(p_var) != -1);}
Array.prototype.queue = function(p_var) {this.push(p_var)}
Array.prototype.dequeue = function() {return(this.shift());}
Array.prototype.removeAt = function(p_iIndex) {return this.splice(p_iIndex, 1);}
Array.prototype.remove = function(o)
{
var i = this.indexOf(o); if (i>-1) this.splice(i,1); return (i>-1)
}
Array.prototype.clear = function()
{
var iLength = this.length;
for (var i=0; i < iLength; i++)
{
this.shift();
}
}
Array.prototype.addArray = function(p_a)
{
if (p_a)
{
for (var i=0; i < p_a.length; i++)
{
this.push(p_a[i]);
}
}
}splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
解决方案 »
- 500分求实现方式!如何不使用adodb.stream与FSO对象实现无组件上传?
- 求js计算:指定日期是从1900-1-1后第几天?
- xmlhttp请求错误提示:系统未找到指定的资源
- 页面loading特效
- 一个页面打开多个父类窗口时,当第一个选择后,后面的父类窗口为什么都是一个窗口的值
- 关于多个下拉列表框的选择,判断其中是哪个发生了动作?并取得相应选项的值??请高手指教!
- 一个很棘手的问题,关于WEB中字大小控制的问题,请高手帮忙解决
- 改变iframe的scrolling属性,浏览器为何不能作出相应反应??!!
- 提问~
- 用jQuery控制<input>能否输入的问题,
- === 如何让打开的新网页窗体最大化??? ===
- JavaScript模拟类时怎么实现私有方法?
if(typeof(Array.prototype.shift)!="function")
{
Array.prototype.shift = function()
{
var mm = null;
if(this.length>0)
{
mm = this[0]; for(var i=1; i<this.length; i++)
this[i-1] = this[i]; this.length = this.length - 1;
}
return mm;
};
}
//[extended method] unique Delete repeated item
if(typeof(Array.prototype.indexOf)!="function")
{
Array.prototype.indexOf=function(item, start)
{
if(start==null) {start = 0;}
else if(start<0){start = Math.max(0, this.length + start);}
for(var i=start;i<this.length;i++){if(this[i]===item)return i;}
return-1;
};
}
var firstArray = ["green"];
var secondArray = ["red", "green", "blue"];
alert(secondArray.indexOf(firstArray[0]));secondArray.shift()
alert(secondArray);
alert(secondArray.join()); //red,green,blue
secondArray.splice(1, 1);
alert(secondArray.join()); //red,blue