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 相关文章推荐
表单的一些基本用法与技巧
Jul 15 Javascript
window.parent调用父框架时 ie跟火狐不兼容问题
Jul 30 Javascript
Javascript结合css实现网页换肤功能
Nov 02 Javascript
文本框input聚焦失焦样式实现代码
Oct 12 Javascript
Javascript获取HTML静态页面参数传递值示例
Aug 18 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
Jan 31 Javascript
使用jquery.qrcode生成彩色二维码实例
Aug 08 Javascript
Js 正则表达式知识汇总
Dec 02 Javascript
AngularJS 中的事件详解
Jul 28 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
Aug 30 Javascript
vue 中 命名视图的用法实例详解
Aug 14 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
Oct 02 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
一个简单计数器的源代码
2006/10/09 PHP
php 删除无限级目录与文件代码共享
2008/11/22 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
php实现分页显示
2015/11/03 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
[转]JS宝典学习笔记
2007/02/07 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
详解vue axios中文文档
2017/09/12 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
前端天气插件tpwidget使用方法详解
2019/06/24 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
Python中请不要再用re.compile了
2019/06/30 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
django 实现简单的插入视频
2020/04/07 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
主要的Ajax框架都有什么
2013/11/14 面试题
监理员的岗位职责
2013/11/13 职场文书
四年级下册教学反思
2014/02/01 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
学校2014年度工作总结
2014/12/06 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android