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页面图片切换和新闻列表滚动效果的具体实现
Sep 26 Javascript
jQuery中trigger()方法用法实例
Jan 19 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
js如何获取网页所有图片
May 12 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
Aug 09 Javascript
使用JavaScript实现node.js中的path.join方法
Aug 12 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 jQuery
vue实现移动端轻量日期组件不依赖第三方库的方法
Apr 28 Javascript
解决layer 动态加载select 失效的问题
Sep 18 Javascript
vue实现简单全选和反选功能
Sep 15 Javascript
JS实现简单贪吃蛇小游戏
Oct 28 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
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
php强制运行广告的方法
2014/12/01 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
JavaScript 学习笔记(十一)
2010/01/19 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
原生js实现新闻列表展开/收起全文功能
2017/01/20 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
python如何写个俄罗斯方块
2020/11/06 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
PHP两种查询函数array/row的区别
2013/06/03 面试题
C语言笔试题
2014/09/04 面试题
怎样从/向数据文件读/写结构
2014/11/23 面试题
信息管理专业学生自荐信格式
2013/09/22 职场文书
乡镇庆八一活动方案
2014/02/02 职场文书
大专生自荐书范文
2014/06/22 职场文书
2014年质检员工作总结
2014/11/18 职场文书
毕业论文致谢格式模板
2015/05/14 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书