js模拟C#中List的简单实例


Posted in Javascript onMarch 06, 2014
/*
 * List 大小可变数组
 * version: 1.0
 */
function List() {
    this.list = new Array();
};
/**
 * 将指定的元素添加到此列表的尾部。
 * @param object 指定的元素
 */
List.prototype.add = function(object) {
    this.list[this.list.length] = object;
};
/**
 * 将List添加到此列表的尾部。
 * @param listObject 一个列表
 */
List.prototype.addAll = function(listObject) {
    this.list = this.list.concat(listObject.list);
};
/**
 *  返回此列表中指定位置上的元素。
 * @param index 指定位置
 * @return 此位置的元素
 */
List.prototype.get = function(index) {
    return this.list[index];
};
/**
 * 移除此列表中指定位置上的元素。
 * @param index 指定位置
 * @return 此位置的元素
 */
List.prototype.removeIndex = function(index) {
    var object = this.list[index];
    this.list.splice(index, 1);    
    return object;
};
/**
 * 移除此列表中指定元素。
 * @param object 指定元素
 * @return 此位置的元素
 */
List.prototype.remove = function(object) {
    var i = 0;
    for(; i < this.list.length; i++) {        
        if( this.list[i] === object) {
            break;
        }        
    } 
    if(i >= this.list.length) {
        return null;
    } else {
        return this.removeIndex(i);
    }
};
/**
 * 移除此列表中的所有元素。
 */
List.prototype.clear = function() {
    this.list.splice(0, this.list.length);
};
/**
 * 返回此列表中的元素数。
 * @return 元素数量
 */
List.prototype.size = function() {
    return this.list.length;
};
/**
 * 返回列表中指定的 start(包括)和 end(不包括)之间列表。
 * @param start 开始位置
 * @param end   结束位置
 * @return  新的列表
 */
List.prototype.subList = function(start, end) {    
    var list = new List();
    list.list = this.list.slice(start, end);
    return list;
};
/**
 *  如果列表不包含元素,则返回 true。
 * @return true or false
 */
List.prototype.isEmpty = function() {
    return this.list.length == 0;
};
Javascript 相关文章推荐
基于jquery的给文章加入关键字链接
Oct 26 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
Jun 17 Javascript
javascript实现依次输入input自动定焦
Dec 23 Javascript
jquery结婚电子请柬特效源码分享
Aug 21 Javascript
jquery zTree异步加载简单实例讲解
Feb 25 Javascript
jQuery设计思想
Mar 07 Javascript
vuex中使用对象展开运算符的示例
Sep 25 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
vue自动化表单实例分析
May 06 Javascript
Node.js Event Loop各阶段讲解
Mar 08 Javascript
详解vite2.0配置学习(typescript版本)
Feb 25 Javascript
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
js模拟hashtable的简单实例
Mar 06 #Javascript
JavaScript简单实现鼠标拖动选择功能
Mar 06 #Javascript
用JS在浏览器中创建下载文件
Mar 05 #Javascript
使用iframe window的scroll方法控制iframe页面滚动
Mar 05 #Javascript
js写的方法实现上传图片之后查看大图
Mar 05 #Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
Mar 05 #Javascript
JSON中双引号的轮回使用过程中一定要小心
Mar 05 #Javascript
You might like
php算开始时间到过期时间的相隔的天数
2011/01/12 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
Javascript 解疑
2009/11/11 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
python共享引用(多个变量引用)示例代码
2013/12/04 Python
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
销售高级职员求职信
2013/10/29 职场文书
庆元旦广播稿
2014/02/10 职场文书
绩效工资实施方案
2014/03/15 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2015年班组工作总结
2015/04/20 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
首次购房证明
2015/06/19 职场文书
24年收藏2000多部退役军用电台
2022/02/18 无线电
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫
vue修饰符.capture和.self的区别
2022/04/22 Vue.js
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python