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 相关文章推荐
JavaScript语言中的Literal Syntax特性分析
Mar 08 Javascript
清除网页历史记录,屏蔽后退按钮!
Dec 22 Javascript
jQuery 页面 Mask实现代码
Jan 09 Javascript
网页图片延时加载的js代码
Apr 22 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
Jul 14 Javascript
JS解析XML文件和XML字符串详解
Apr 17 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
Jul 10 Javascript
12 款 JS 代码测试必备工具(翻译)
Dec 13 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
Webpack的dll功能使用
Jun 28 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
Nov 20 Javascript
JS实现指定区域的全屏显示功能示例
Apr 25 Javascript
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获取数组中重复数据的两种方法
2013/06/28 PHP
php jsonp单引号转义
2014/11/23 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
js中this的用法实例分析
2015/01/10 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
django实现前后台交互实例
2017/08/07 Python
python selenium firefox使用详解
2019/02/26 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
linux面试相关问题
2013/04/28 面试题
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
小学班级口号
2014/06/09 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
六五普法宣传标语
2014/10/06 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
小学中队委竞选稿
2015/11/20 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书