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 相关文章推荐
来自qq的javascript面试题
Jul 24 Javascript
jquery入门—选择器实现隔行变色实例代码
Jan 04 Javascript
javascript实现当前页导航激活的方法
Feb 27 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
jQuery实现复制到粘贴板功能
Feb 11 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
在一般处理程序(ashx)中弹出js提示语
Aug 16 Javascript
vue生成随机验证码的示例代码
Sep 29 Javascript
关于react中组件通信的几种方式详解
Dec 10 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
Apr 20 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
Mar 31 Javascript
vue实现两个组件之间数据共享和修改操作
Nov 12 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
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
smarty中post用法实例
2014/11/28 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
Python处理文本换行符实例代码
2018/02/03 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
白酒市场开发计划书
2014/01/09 职场文书
行政副总岗位职责
2014/02/23 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
工程催款通知书
2015/04/17 职场文书
golang中实现给gif、png、jpeg图片添加文字水印
2021/04/26 Golang
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
配置nginx 重定向到系统维护页面
2021/06/08 Servers
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android