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 命名空间以提高代码重用性
Nov 13 Javascript
IE Firefox 使用自定义标签的区别
Oct 15 Javascript
DIV+CSS+JS不间断横向滚动实现代码
Mar 19 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
Jan 03 Javascript
css结合js制作下拉菜单示例代码
Feb 27 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
Apr 07 Javascript
jquery中获取元素里某一特定子元素的代码
Dec 02 Javascript
Three.js基础部分学习
Jan 08 Javascript
js正则表达式验证表单【完整版】
Mar 06 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
Jul 10 Javascript
AngularJS创建一个上传照片的指令实例代码
Feb 24 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 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
PHP 身份验证方面的函数
2009/10/11 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
PDO::quote讲解
2019/01/29 PHP
ext jquery 简单比较
2010/04/07 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
vue ssr 指南详读
2018/06/29 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
Python3实现Web网页图片下载
2016/01/28 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
Python程序控制语句用法实例分析
2020/01/14 Python
Python中logging日志库实例详解
2020/02/19 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
农民致富事迹材料
2014/01/23 职场文书
2014全国两会学习心得体会2000字
2014/03/10 职场文书
教师个人自我评价范文
2014/04/13 职场文书
放飞理想演讲稿
2014/09/09 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
Django REST framework 限流功能的使用
2021/06/24 Python
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS