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遍历select元素(实例讲解)
Dec 31 Javascript
js出生日期 年月日级联菜单示例代码
Jan 10 Javascript
node.js中的fs.createWriteStream方法使用说明
Dec 17 Javascript
可以浮动某个物体的jquery控件用法实例
Jul 24 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
Sep 05 Javascript
基于jQuery实现左侧菜单栏可折叠功能
Dec 27 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
Dec 30 Javascript
Webpack如何引入bootstrap的方法
Jun 17 Javascript
vue实现的下拉框功能示例
Jan 29 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 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合并数组中相同元素的方法
2014/11/13 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
简单实现php上传文件功能
2017/09/21 PHP
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
JS打开新窗口的2种方式
2013/04/18 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
python元组操作实例解析
2014/09/23 Python
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python属于跨平台语言码
2020/06/09 Python
python合并多个excel文件的示例
2020/09/23 Python
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
函授本科自我鉴定
2013/11/03 职场文书
高级护理专业毕业生推荐信
2013/12/25 职场文书
大型车展策划方案
2014/02/01 职场文书
环保倡议书
2014/04/14 职场文书
家长给老师的感谢信
2015/01/20 职场文书
2016公司新年问候语
2015/11/11 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python