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 表单验证常见正则
Sep 28 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
javascript实现动态加载CSS
Jan 26 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
Mar 19 Javascript
jQuery焦点图插件SaySlide
Dec 21 Javascript
Angularjs之filter过滤器(推荐)
Nov 27 Javascript
vue.js加载新的内容(实例代码)
Jun 01 Javascript
Bootstrap模态框插入视频的实现代码
Jun 25 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
Jul 06 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
Mar 03 Javascript
vue $set 给数据赋值的实例
Nov 09 Javascript
js重写alert事件(避免alert弹框标题出现网址)
Dec 04 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
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue中引用swiper轮播插件的教程详解
2018/08/16 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
Python、Javascript中的闭包比较
2015/02/04 Python
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
python分析网页上所有超链接的方法
2015/05/08 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
Python-for循环的内部机制
2020/06/12 Python
Python爬取网页信息的示例
2020/09/24 Python
Python collections模块的使用方法
2020/10/09 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
酒店管理专业学生求职信
2013/09/27 职场文书
历史系自荐信范文
2013/12/24 职场文书
洗发水广告词
2014/03/13 职场文书
售后服务承诺书范文
2014/03/26 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
社会调查研究计划书
2014/05/01 职场文书
2015教师节通讯稿
2015/07/20 职场文书
《坐井观天》教学反思
2016/02/18 职场文书
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript