最近在看javascript,在《javascript高级编程》中也学到了不少东西。但是在这里要感谢博客园的“汤姆大叔” 的无私奉献,他的关于javascript相关博文也给我了很大的帮助。在此同时也要感谢 博客园中的“阿蔡”,在我上篇随笔回复中提了相关建议!再次谢谢二位。

在学习C#时候用到了ArrayList ,突然就想可不可以用javascript去模拟C#中ArrayList相关操作呢!C#中的ArrayList实例以后可以进行添加、移除、查找等操作。首先在此说明这个模拟操作的一些方法时候没有考虑执行效率相关问题,只是报着学习的态度去尝试。

在此就分享相关代码,有什么不妥的地方希望各位高手斧正。谢谢。

/*

* javascript模拟C#中的arraylist * 心伤烟雨

* QQ:909507090

* [url]www.qhjsw.net[/url]

* 更新时间:2012-02-24

*/

function ArrayList() {

this.length = 0;

this.array = new Array();

    //获得指定索引的值this.Item = function (index) {

return this.array[index];

    }

//添加新项this.Add = function (value) {

this.array[this.length] = value;

this.length++;

    }

//移除this.Remove = function (value) {

if (this.length >= 1) {

for (var i = 0; i < this.length; i++) {

if (this.array[i] == value) {

for (var j = i; j < (this.length - 1); j++) {

this.array[j] = this.array[j + 1];

                    }

this.length--;

this.array[this.length] = null;

this.array.length--;

break;

                }

            }

        }

else {

this.length = 0;

        }

    } //插入

this.Insert = function (value, index) {

if (index < 0) { index = 0; }

if ((this.length >= 1) && (index <= this.length)) {

for (var i = this.length; i > index; i--) {

this.array[i] = this.array[i - 1];

            }

this.array[index] = value;

this.length++;

        }

else {

this.Add(value);

        }

    } //判断指定的值是否存在

this.Exist = function (value) {

if (this.length > 1) {

for (var i = 0; i < this.length; i++) {

if (this.array[i] == value) {

return true;

                }

            }

        }

return false;

    }

//清空this.Clear = function () {      //感谢  “阿蔡” 的建议   谢谢 。this.array.length = 0;

this.length = 0;

    }

this.GetArray = function () {

return this.array;

    }

//长度this.Length = function () {

return this.length;

    }

//导入this.Import = function (splitString, splitChar) {

this.array = splitString.split(splitChar);

this.length = this.array.length;

    }

  //以指定分隔符导出,返回字符串this.Export = function (joinChar) {

var strReturn = "";

if (this.length >= 1) {

for (var i = 0; i < this.length; i++) {

                strReturn += this.array[i];

if (i < (this.length - 1)) {

                    strReturn += joinChar;

                }

            }

        }

return strReturn;

    }

}

如果有任何有助于我提高的还请各位大侠提出相关建议,我会加以学习和改正。希望共同与大家一起交流和学习。在此谢过。

转载于:https://www.cnblogs.com/bluescreen/archive/2012/02/25/2368216.html

Javascript模拟c#中arraylist操作(学习分享)相关推荐

  1. Kong+Konga配置原理、操作 学习分享

    Kong+Konga配置原理.操作 学习分享 一.什么是Kong,为什么使用Kong 1.首先知道为什么要使用网关: 2.什么是Kong? 3.Kong的安装: 4.什么是Konga? 6.怎么判断s ...

  2. [小笔记]TypeScript/JavaScript模拟Python中的Range函数

    [小笔记]TypeScript/JavaScript 模拟Python中的Range函数 李俊才/CSDN博客 CSDN用户名:jcLee95 邮箱:291148484@163.com 原创不易,感谢 ...

  3. R中双表操作学习[转载]

    转自:https://www.jianshu.com/p/a7af4f6e50c3 1.原始数据 以上是原有的一个,再生成一个新的: > gene_exp_tidy2 <- data.fr ...

  4. css3中的动画学习分享

    大家好,这里是demo软件园,今天为大家分享的是css3中的动画(animation). css3动画: 使元素从一种样式逐渐变化为另一种样式的效果. 动画原理:通过把人物的表情.动作.变化等分解后画 ...

  5. JavaScript中的对象学习笔记(属性操作)

    本文是笔者学习JavaScript时做的笔记,大部分内容来自<JavaScript权威指南>,记录学习中的重点,并引入一些其他博文和与其他程序员讨论的内容,供本人日常翻阅.如有疑问,请留言 ...

  6. python中if语句缺省else_9_【Python学习分享文章】_if(条件语句)

    [Python学习分享文章]_if(条件语句)_logicalJudgement介绍及基本操作 综述 计算机的"条件语句"和生活中的"条件成立"是不一样的. 一 ...

  7. JavaScript中BOM操作

    Web前端基础修炼 HTML基本标签详解与运行截图 CSS基本操作详解及截图演示 JavaScript基础(ECMAScript) JavaScript中DOM操作 JavaScript中BOM操作 ...

  8. JavaScript中DOM操作

    Web前端基础修炼 HTML基本标签详解与运行截图 CSS基本操作详解及截图演示 JavaScript基础(ECMAScript) JavaScript中DOM操作 JavaScript中BOM操作 ...

  9. 简单模拟word中对插入直线的操作

    简单模拟word中对插入直线的操作.可以画直线,然后可以选择直线进行移动.拉伸.删除.并能显示直线的距离. 操作:点击按钮开始画线.鼠标左键点击一条直线进行移动,选择端点进行拉伸. 鼠标右键点击直线, ...

最新文章

  1. leetcode之Reorder List
  2. linux系统管理及vim
  3. 微软Azure Stack混合云进入中国
  4. Qt QWidget控件透明动画实现
  5. Django常用命令总结(图片)
  6. python batch_size_深度学习中的batch的大小对学习效果有何影响?
  7. android getid,Process.myTid()和Thread.currentThread().getId()区别
  8. SQL server数据库增删改查练习
  9. 需要什么数据?要说清楚、准确
  10. 推导多元最小二乘法的计算方法
  11. AcWing 蓝桥杯C++ AB组辅导课学习记录(Python,备战蓝桥杯)Day31 - Day60
  12. STM32控制0.96寸OLED(4针/4Pin)汉字以及数字,英文显示
  13. 装配图中齿轮的画法_机械制图之装配图
  14. Android应用程序中的DVM和Linux中进程的区别
  15. 二元函数可微与偏导数_二元函数的连续、偏导数、可微之间的关系-推荐下载...
  16. 湖南省中职学业水平考试复习试题(数学)
  17. 赠书福利丨我们人类与人工智能技术究竟是怎样的关系?
  18. 嵌入式系统设计与开发的生命周期简析
  19. 力扣 648. 单词替换
  20. c语言使用windows10消息框,一、Windows对话框

热门文章

  1. MySQL高级理论-MVCC提交查询相关(版本链)
  2. Qt文档阅读笔记-Image QML官方解析与实例
  3. Qt工作笔记-Qt奇淫技巧把ToolBar改成标题栏
  4. 实现电子词典_它是一部电子词典,一部翻译机,一部口语机还是一部出游的随身WiFi...
  5. AF_INET域与AF_UNIX域socket通信原理对比
  6. nio和bio的原理_Java的BIO,NIO和AIO的区别于演进
  7. 操作系统之计算机系统概述:4、操作系统的运行机制(内核态用户态、特权指令非特权指令、内核程序应用程序)
  8. (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序)
  9. LeetCode 198 打家劫舍
  10. Centos7利用fpm制作rpm包(fpm安装及使用)