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 相关文章推荐
js局部刷新页面时间具体实现
Jul 04 Javascript
ie与ff下的event事件使用介绍
Nov 25 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
Mar 18 Javascript
理解javascript中的原型和原型链
Jul 30 Javascript
jQuery实现高亮显示网页关键词的方法
Aug 07 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
Jul 28 Javascript
jquery基本选择器匹配多个元素的实现方法
Sep 05 Javascript
有趣的bootstrap走动进度条
Dec 01 Javascript
使用Bootstrap美化按钮实例代码(demo)
Feb 03 Javascript
vue-router路由与页面间导航实例解析
Nov 07 Javascript
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
Oct 31 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 microtime获取浮点的时间戳
2010/02/21 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
PHP运行模式汇总
2016/11/06 PHP
php图像验证码生成代码
2017/06/08 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
js鼠标左右键 键盘值小结
2010/06/11 Javascript
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
微信小程序实现电子签名功能
2020/07/29 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
python条件和循环的使用方法
2013/11/01 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
video.js支持m3u8格式直播的实现示例
2020/05/20 HTML / CSS
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
竞选劳动委员演讲稿
2014/04/28 职场文书
软件测试专业推荐信
2014/09/18 职场文书
优秀员工自荐书
2015/03/06 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
python解析照片拍摄时间进行图片整理
2022/07/23 Python