当前位置:编程学习 > JS >>

在javascript中有类似java中ArrayList的类型么?可以执行如 add remove 等操作

答案:
JavaScript 可任意扩展 

Object.extend=function(A,$){for(var _ in $)A[_]=$[_];return A};

/** Object */
Object.extend(Object.prototype, {
equals : function(other){return this==other;}
});

/** Array */
Object.extend(Array.prototype, {
__rangeCheck : function(index){
if (index < 0 || index >= this.size()) {
alert("Index: " + index + ", Size: " + this.size());
throw new Error("", "Index: " + index + ", Size: " + this.size());
}
},

indexOf : function(o){
for(var i = 0; i < this.size(); i++){
if(this[i].equals(o)){return i;}
}
return -1;
},

contains : function(o){
return this.indexOf(o) > -1;
},

size : function(){
return this.length;
},

add : function(){
if(arguments == null || arguments.length < 1){
throw "arguments is null";
}

for(var i = 0; i < arguments.length; i++) {
this[this.size()] = arguments[i];
}
},

addAll : function(array){
if(!array || array.length < 1){return;}
for(var i = 0, len = array.length; i < len; i++){
this.add(array[i]);
}
},

removeAt : function (index){
this.__rangeCheck(index);
var oldValue = this[index];
var buf = [];
for(var i = 0; i < this.size(); i++){
if(i!=index){buf.add(this[i]);}
}
this.clear();
this.addAll(buf);
return oldValue;
},

remove : function(o){
var index = this.indexOf(o);alert(index);
if(index>-1){this.removeAt(index);}
},

isEmpty : function(){
return this.size() == 0;
},

subArray : function(fromIndex, toIndex){
this.__rangeCheck(fromIndex);
this.__rangeCheck(toIndex);

var result = [];
for(var i = fromIndex; i < toIndex; i++){
result.add(this[i]);
}
return result;
},

fill : function(value){
for(var i = 0, len = this.size(); i < len; i++){
this[i] = value;
}
return this;
},

clear : function(){
this.length = 0;
}
});

Array.prototype.toString = function(sep){
sep = sep || ", ";
return this.join(sep);
}
一般的数组都可以的,因为JAVASCRIPT是弱类型的
//JavaScript所有东西都可以用数组装
var arr=new Array();//单纯创建数组:
var temp="a";
arr.push(temp);//数组自带的追加元素
temp=arr.pop();//数组对象自带的从尾部弹出元素
//当然你可以自定义追加或删除元素
function add(obj)//自定义你想要添加元素的方法
{

}
function Object remove(index)//自定义你想要添加元素的方法
{

}
var aa = new Object();
这个完全可以按照你的要求随意来操作

上一个:用java、javascript、Ajax的技术,有什么办法能解决浏览器兼容性问题
下一个:谁可以解释下关于javascript下面这段话的意思,希望给出个例如说明。谢谢。

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,