`

用js模拟的List

 
阅读更多

/*
 * List 大小可变数组
 *  author: 吴安国
 * 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;
};
 

原文链接:http://blog.csdn.net/wuanguo12/article/details/6785266

 

分享到:
评论

相关推荐

    js模拟list和map

    javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 &lt;br&gt;List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...

    JS模拟select下拉菜单

    综上所述,使用JavaScript模拟`&lt;select&gt;`下拉菜单可以提供更丰富的定制性和交互性,但需要注意的是,这也会增加代码复杂性和维护成本。因此,在选择实现方式时,应根据项目需求和团队技术栈来权衡。

    js模拟QQ窗口振动

    3. CSS类操作:在JavaScript中,我们可以使用`classList`属性来操作元素的CSS类。当事件触发时,添加`vibrating`类,使元素应用对应的动画效果;当振动结束后,移除该类,停止动画。 ```javascript setTimeout...

    js模拟C#中List的简单实例

    1. **类定义**:`List`函数定义了一个对象,其内部属性`list`是一个JavaScript数组,用以存储数据。 2. **方法实现**: - `add`: 这个方法用于在列表的末尾添加一个元素。它通过将新元素追加到`this.list`数组的...

    js css 模拟html下拉框

    为了实现更自定义的外观和交互效果,开发者常常会利用JavaScript(JS)和Cascading Style Sheets(CSS)来模拟HTML下拉框。这种方式可以提供更丰富的用户体验,比如动画过渡、自定义样式以及更复杂的交互功能。 ...

    原生js模拟手机信号强度

    通过以上步骤,我们便可以使用原生JavaScript模拟手机信号强度。这个过程不仅可以加深对JavaScript基础的理解,也能提升动态UI设计和交互体验的技巧。实际开发时,可以根据项目需求进行调整和优化,创造出更丰富的...

    JS模拟下拉选项框

    以上就是使用JavaScript模拟下拉选项框的基本步骤。在实际项目中,可能需要结合现有的前端框架(如React, Vue, Angular等)或库(如jQuery)来实现,这会简化代码并提供更好的封装和维护性。在提供的"JS组件-模拟...

    Node.js-listr-终端任务列表

    你可以通过查看这些文件来深入学习Listr的使用方法,包括如何自定义渲染器以改变终端输出的样式,如何处理错误,以及如何与其他Node.js工具结合使用等。 总的来说,Listr是一个强大的工具,它提高了命令行任务管理...

    js模拟android弹出的友好提示框

    在JavaScript(JS)编程中,有时我们希望在用户与网页交互时提供更加友好的提示信息,而不仅仅是使用标准的`alert()`函数。`alert()`函数虽然简单易用,但其弹出的对话框样式单一,不够自定义,可能无法满足一些高级...

    JS模拟的图片动画特效

    在本主题"JS模拟的图片动画特效"中,我们将深入探讨如何利用JavaScript来创建吸引人的视觉效果,特别是针对图片的动画。 1. **基本概念** - JavaScript 动画:通过修改DOM元素的属性(如位置、大小、透明度等)并...

    多选下拉的CheckBoxList

    综上所述,实现一个多选下拉的CheckBoxList涉及多个步骤,包括控件的创建、数据绑定、下拉效果模拟以及客户端和服务器端的交互处理。通过这些步骤,我们可以创建一个高效、用户友好的多选下拉列表。

    js模拟QQ震动效果

    接下来,我们用JavaScript来控制这个动画的启动和停止。假设我们有一个HTML元素`&lt;div id="qq-notification"&gt;&lt;/div&gt;`用于模拟QQ窗口,可以这样写: ```javascript var notification = document.getElementById('qq-...

    js模拟文字列表鼠标滑过渐变效果

    本示例“js模拟文字列表鼠标滑过渐变效果”正是关注于此,旨在使文字列表在鼠标经过时呈现出平滑的颜色过渡,从而吸引用户的注意力并增强交互性。 首先,我们需要理解CSS中的渐变(Gradient)概念。渐变是一种颜色...

    JavaScript模拟跳舞

    本例中展示了一个简单的动画效果,即通过 JavaScript 实现了一个“模拟跳舞”的功能。 ### 2. 用户代理检测 #### 代码示例: ```javascript var agt = navigator.userAgent.toLowerCase(); if (agt.indexOf("mac")...

    使用JavaScript实现Java的List功能(实例讲解)

    以下是一个使用JavaScript模拟Java List的示例,包括添加、删除、获取元素、清空列表以及检查列表是否为空等方法。 首先,我们创建一个名为`list`的数组对象,这将作为我们的基础数据结构: ```javascript var ...

    js弹出div层模拟alert+(iframe中使用)

    本主题将详细讲解如何使用JavaScript创建一个可移动的`div`层来模拟`alert`功能,并在`iframe`环境中应用。 首先,让我们了解`alert`的基本用法。`alert`是JavaScript内置的一个全局函数,用于显示一个包含指定消息...

    Vue+Mock.js模拟登录和表格的增删改查功能

    在本文中,我们将深入探讨如何使用Vue.js框架和Mock.js库来模拟登录功能以及实现表格的增删改查。Vue.js是一个轻量级的前端JavaScript框架,它提供了强大的数据绑定和组件化特性,使得开发更加高效。Mock.js则是一个...

    JS模拟实现Select效果代码

    虽然现代前端开发推荐使用原生JavaScript或者模块化的库如React、Vue等,但是jQuery仍然被广泛应用于一些遗留系统或者小型项目中。 8. 代码注释:在文档中可以见到作者对关键代码段落的解释,这是一种良好的代码...

    jQuery下拉框美化插件selectList.rar

    3. **模拟下拉框**:selectList通过JavaScript和CSS实现了一个模拟的下拉框,它不仅拥有美观的外观,还能提供更丰富的定制选项,比如颜色、字体、边框等。 4. **键盘操作支持**:除了鼠标交互,selectList还支持...

Global site tag (gtag.js) - Google Analytics