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滚动加载图片效果的实现
Mar 06 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
Dec 02 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
Dec 27 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
Dec 31 Javascript
JS常用表单验证方法总结
May 22 Javascript
JS与jQ读取xml文件的方法
Dec 08 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
Feb 10 Javascript
BootStrap modal实现拖拽功能
Dec 01 Javascript
JavaScript canvas基于数组生成柱状图代码实例
Mar 06 Javascript
vuex的使用和简易实现
Jan 07 Vue.js
详解如何解决使用JSON.stringify时遇到的循环引用问题
Mar 23 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
phpmyadmin的#1251问题
2006/11/25 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
php表单敏感字符过滤类
2014/12/08 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
python实现名片管理系统
2018/11/29 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
戴尔美国官网:Dell
2016/08/31 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
捷科时代的软件测试笔试题
2015/11/09 面试题
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
求职者怎样写自荐信
2014/04/13 职场文书
2014年行政工作总结
2014/11/19 职场文书
python常见的占位符总结及用法
2021/07/02 Python
mysql配置SSL证书登录的实现
2021/09/04 MySQL
德劲DE1102数字调谐收音机机评
2022/04/07 无线电
MongoDB数据库之添删改查
2022/04/26 MongoDB