今天业务上的需求,前台需要类似java集合list或者set那样的工具或者类型来处理一个比价复杂的业务,js中是没有这种集合工具的,用数组吧考虑了下还是长久下,写个类似的简单工具,做成公共js,然后后期不断完善和优化,以后用起来就很方便了,这里就记录和分享下我的代码,确切的说很不完善,和java中ArrayList功能还差一些,一些地方也待优化,不过可以临时救急用,网上搜到一两篇就,不过还有很多bug,我下边的js代码都是测试过的,基本都可以正常使用,很多功能如构造方法、非法数据处理及异常的处理等有待完善。
后期如有时间的话,再完善和优化原有的基础上,会用js实现java中的LinkedList,HashSet,HashMap等类似集合的工具类,以方便开发中使用,声明下,时间仓促,功能简单,如代码中处理不得当的地方,十分恳请您留言,必有重谢!
/*
*定义一个类似java中List集合的对象并添加对应常用方法
*功能比较简易,远不如真正List强大而高效,暂目前满足几个需求即可,待后续完善优化
*@author 陈磊兴
*@date 2015-09-10
*/
//List定义
function List(){
this.table=new Array();
}
//get方法
List.prototype.get=function(i){
return this.table[i];
}
//add方法
List.prototype.add=function(o){
this.table.push(o);
}
//indexOf方法,无返回-1,如有首次出现的元素索引
List.prototype.indexOf=function(o){
var c=-1;
for(var i=0;i<this.table.length;i++){
if(this.table[i]==o){
c=i;
break;
}

为了解决前端业务需求,作者创建了一个简单的JavaScript集合工具,类似于Java的List。虽然不完全等同于Java的ArrayList,但已足够应对临时需求。代码经过测试,可以正常使用,但仍有待完善和优化,包括构造方法、异常处理等。未来计划扩展实现LinkedList、HashSet和HashMap等。读者可以在http://runjs.cn/code在线测试运行代码。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



