(function($) {
$.List= function() {var _list = newArray();//外部为数组赋值
this.GetDataSource = function(arr) {if(IsArrayType(arr)) {
_list=arr;
}else{
alert("指定元素非数组类型,赋值失败!");
}
};//添加一个元素
this.Add = function(arg) {if(arg) {
_list.push(arg);
}else{
alert("参数错误,添加元素失败!");
}return_list;
};//删除指定索引的元素
this.RemoveAt = function(index) {if (IsArrayIndex(index) && index <_list.length arr="newArray();for" i _list.length>
arr.push(_list[i]);
}
}
_list=arr;return_list;
}else{
alert("未获取到设置对象的实例,删除元素失败!");
}
};//按照指定的分割符显示出所有元素
this.Split = function(arg) {
arg= arg || ",";vari, res;
res= "";if (_list.length > 0) {for (i = 0; i < _list.length; i++) {
res+= _list[i].toString() +arg;
}return res.substr(0, (res.length -arg.toString().length));
}else{return "";
}
};//外部调用直接返回当前数组实力
this.ToArray = function() {return_list;
};//设置指定索引处的值为指定值
this.Update = function(index, value) {if (IsArrayIndex(index) && index <_list.length>
_list[index]=value;
}return_list;
};//清空所有元素
this.RemoveAll = function() {
_list.splice(0, _list.length);return_list;
};//根据传入的值获取第一次出现在数组中的下标
this.IndexOf = function(value) {if(value) {vari;for (i = 0; i < _list.length; i++) {if (_list[i] ==value) {returni;
}
}
}return -1;
};//获取数组长度
this.Size = function() {return_list.length;
};//移除数组中重复的项
this.RemoveRepeat = function() {
_list.sort();var rs =[];var cr = false;for (var i = 0; i < _list.length; i++) {if (!cr)
cr=_list[i];else if (cr ==_list[i])
rs[rs.length]=i;elsecr=_list[i];
}for (var i = rs.length - 1; i >= 0; i--)this.RemoveAt(rs[i]);return_list;
};//对数字数组元素排序,参数:0升序1降序
this.SortNumber = function(f) {if (!f) f = 0;if (f == 1) return _list.sort(function (a, b) { return b -a; });return _list.sort(function (a, b) { return a -b; });
};//私有方法
//判断正确的数组下标
functionIsArrayIndex(index) {var reg = /^d+$/;if(reg.test(index))return true;elsereturn false;
}//判断当前对象是否为数组对象
functionIsArrayType(arr) {if (typeof arr == ‘object‘ && typeof arr.length == ‘number‘)return true;elsereturn false;
}
};//结束List的构造方法
})(jQuery);