JS模拟list
/*
* List 大小可变数组
*/
function List() {
this.list = new Array();
}; /**
* 将指定的元素添加到此列表的尾部。
* @param object 指定的元素
*/
List.prototype.add = function(object) {
//this.list[this.list.length] = object;
this.list.push(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];
}; /**
* 获取元素在数组中的坐标,不存在则返回-1
* @return true or false
*/
List.prototype.getObjectIndex = function(object) {
var i = 0;
for(; i < this.list.length; i++) {
if( this.list[i] === object) {
return i;
}
}
return -1;
}; /**
* 移除此列表中指定位置上的元素。
* @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 = this.getObjectIndex(object); if(i==-1) {
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;
};
JS模拟list的更多相关文章
- js模拟抛出球运动
js练手之模拟水平抛球运动 -匀加速运动 -匀减速运动 模拟运动有些基本的思路,当前所在点的坐标,元素的长宽是多少,向右/向下运动x/y增加,向上/向左运动x/y减少,运动的路程是多少,用什么方程进行 ...
- Gremlins.js – 模拟用户随机操作的 JS 测试库
Gremlins.js 是基于 JavaScript 编写的 Monkey 测试库,支持 Node.js 平台和浏览器中使用.Gremlins.js 随机模拟用户操作:单击窗口中的任意位置,在表格中输 ...
- JS 模拟手机页面文件的下拉刷新
js 模拟手机页面文件的下拉刷新初探 老总说需要这个功能,好吧那就看看相关的东西呗 最后弄出了一个简单的下拉刷新页面的形式,还不算太复杂 查看 demo 要在仿真器下才能看到效果,比如chrome的里 ...
- 由chrome剪贴板问题研究到了js模拟鼠标键盘事件
写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.cli ...
- node.js模拟qq漂流瓶
(文章是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) node.js模拟简易漂流瓶,页面有扔瓶子和捡瓶子的功能,一个瓶子只能被捡到一次,阅读完就置状态位, ...
- css配合js模拟的select下拉框
css配合js模拟的select下拉框 <!doctype html> <html> <head> <meta charset="utf-8&quo ...
- js模拟触发事件
html标签元素封装着实用的[事件],但在很多时候,需要[模拟触发事件],比如 [按钮单机事件] 可以实实在在点击按钮触发该事件,但体验而言,很多时候需要js逻辑处理让实现 触发事件的效果这时就用 ...
- js模拟Map对象,实现key---value
js模拟Map对象,实现key---value 根据java中map的属性,实现key----value保存 function Map() { var struct = function (key, ...
- 单篇文章JS模拟分页
废话部分 前两天做了一个前台分页插件,支持ajax读取数据绑定前台 和 url带页码参数跳转两种方式.于是稍加改动,做了一个单篇文章js模拟分页的代码,为什么说是模拟分页呢?因为在服务器响应HTML请 ...
- js 模拟java 中 的map
//js模拟map Map = { obj : {}, put : function(key , value){ this.obj[key] = value; }, get : function(ke ...
随机推荐
- panic: reflect.Value.Interface: cannot return value obtained from unexported field or method
go的结构体中私有的属性, 即使反射也获取不到
- C语言 const, static, static const 的区别
基本定义: const 就是只读的意思,只在声明中使用;static 一般有2个作用,规定作用域和存储方式. 对于局部变量, static规定其为静态存储方式, 每次调用的初始值为上一次调用的值,调 ...
- Announcing Mobile SDK V2.0
As you might have read over at our PayPal Forward Blog it’s time to celebrate for PayPal | Developer ...
- 基于curl的异步http实现
简述用于windowsclient的一个异步http模块的实现 1.须要实现的feature 1.1 非常easy地发起异步http请求,然后回调. 1.2 可以管理http并发数. 1.3 可以支持 ...
- CentOS 6.5安装配置Nginx
Ubuntu下安装nginx,直接apt-get install nginx就行了,很方便. 但是今天装了CentOS6.5,直接yum install nginx不行,要先处理下源,下面是安装完整流 ...
- hue耗流量优化
ps: 使用的hue版本为 hue-3.10.0 一.[jobbrowser刷流量] 基本一分钟刷新一次,执行GET /jobbrowser/ [17/Apr/2017 14:46:26 +0800] ...
- Guava Files 源码分析(二)
createTempDir()之后就没有什么有意思的函数了,基本上都是对Java IO函数操作的聚合,只看一个simplifyPath() /** * Returns the lexically cl ...
- OpenCV特征检测教程
http://docs.opencv.org/2.4/doc/tutorials/features2d/table_of_content_features2d/table_of_content_fea ...
- Multi-label && Multi-label classification
Multi-label classification with Keras In today’s blog post you learned how to perform multi-label cl ...
- Byedance AI Camp-笔试题目
最小m段和问题:给定n个整数组成的序列,现在要求将序列分割为m段,每段子序列中的数在原序列中连续排列.如何分割才能使这m段子序列的和的最大值达到最小? Input 第一行输入一个整数t,代表有t组测试 ...