优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能。编程语言中,数组是一个非常重要的概念,也是一种很常用的类型。本文中通过javascript语言的代码实例,展现编程中数组的魅力。在javascript语言中,数组Array类型是一种引用类型,可以保存任何数据类型的数据。如字符串,数值,对象等。

图A 创建数组

如图A,通过构造函数Array()传入不同的参数创建不同的新数组。当传入的参数为空时,创建length长度为零的空数组testArray_a;当传入的参数为数值5时,创建了一个length长度为5的空数组testArray_b,数组中的5个数据项均为undefined;当传入的参数为字符串a,b,c,d,e时,新数组testArray_c被创建,此时该数组的length长度为5,各数据项为a,b,c,d,e。利用构造函数构建新数组,只是创建数组的一种方式,还有一种比较常见的方式为数组字面量。在编程中,数组是可以通过索引进行操作的。

图B 索引特定数据项

如图B,通过数组的索引对数组进行特定数据项的替换,添加。通过操作符new加构造函数Array(),创建名为testArray_c的数组,该数组中的数据项为a,b,c,d,e,length长度为5。testArray_c[4]="f";将第五个数据项e替换为f,返回新数组:a,b,c,d,f;testArray_c[5]="G";在位置5添加数据项六G;返回新数组:a,b,c,d,f,G,length长度为6;给原数组添加数据项可以是任何位置的添加。数据项间没有数据的位置,都是undefined项。testArray_c[10]="M";在位置10添加数据项“M”,返回新数组:a,b,c,d,f,G,undefined,undefined,undefined,undefined,M,length长度为10;

图C 末尾添加

如图C,数组中,最后一个数据项的索引总是为length-1,所以,下个数据项的索引即为length。利用这个特性,可以很方便的为某个数组在末尾添加数据项。testArray_c.length="Z";在数组testArray_c末尾添加Z;testArray_c.length="X",末尾加X;经过两次操作,返回的新数组为:a,b,c,d,e,Z,X。以此类推,可以添加末尾数据项的任意个数。

图D splice()方法插入 替换 删除

如图C,通过方法splice()对数组进行操作,其功能可有删除数据项,插入数据项,替换数据项。删除操作:var testArray_c1=testArray_c.splice(1,2);从位置1开始删除2个数据项;console.log(testArray_c1);返回删除的数据项b,c; console.log(testArray_c);返回删除后的新数组a,d,e;插入操作:var testArray_c2=testArray_c.splice(2,0,"8","9");从位置2开始插入8,9两项,变成新数组a,d,8,9,e。

图E splice()方法执行结果

替换数据项操作:var testArray_c3=testArray_c.splice(1,3,"X","Y","Z");从位置1开始,删除3个数据项,后在删除的位置上添加X,Y,Z;console.log(testArray_c3);返回删除项d,8,9;console.log(testArray_c); 返回新数组a,X,Y,Z,e;如图E为 splice()方法执行结果。在数组操作中,splice()方法是非常强大的,可以很方便的操作数组。一种编程语言,如果没有数组这种数据结构会是什么样的呢?会不会有更好的数据结构来代替数组?

举报/反馈

简单的计算机程序代码,优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能...相关推荐

  1. 成为优秀程序员需要具备的15种编程技巧

    来源 | https://www.linuxmi.com/chengxuyuan-15-jiqiao.htm 编程是一个告诉计算机如何工作的术语.通过编程,我们可以轻松操作任何技术.就像所有人在特定地 ...

  2. 这段Python代码让程序员赚300W,公司已确认!网友:神操作!

    Python到底还能给人多少惊喜? 笔者最近看到了这两天关于Python最热门的话题,关于<地产大佬潘石屹学Python的原因>,结果被这个回答惊到了: 来源:知乎 https://www ...

  3. 这段 Python 代码让程序员赚 300W,公司已确认!网友:神操作!

    Python到底还能给人多少惊喜? 笔者最近看到了这两天关于Python最热门的话题,关于<地产大佬潘石屹学Python的原因>,结果被这个回答惊到了: 来源:知乎 https://www ...

  4. 程序员为什么老得快_这段 Python 代码让程序员赚 300W,公司已确认!网友:神操作!...

    点击上方"Python大本营",选择"置顶公众号" python大本营  IT人的职业提升平台 Python到底还能给人多少惊喜?笔者最近看到了这两天关于Pyt ...

  5. csdn学院的python培训怎么样_这段 Python 代码让程序员赚 300W,公司已确认!网友:神操作...

    Python到底还能给人多少惊喜? 笔者最近看到了这两天关于Python最热门的话题,关于<地产大佬潘石屹学Python的原因>,结果被这个回答惊到了: 来源:知乎 https://www ...

  6. 程序员都用什么牌子电脑编程?国产电脑很强大啊!

    工欲善其事必先利其器,对于程序员而言,一台好的电脑是必不可少的.很多程序员都有自己攒台式机的爱好,按照自己需要的性能进行配置.但是,作为一个随时随地可能都需要改代码的工种,台式机显然不方便携带,还是有 ...

  7. 用python表白代码_程序员python表白代码

    原博文 2019-06-13 17:33 − python表白代码 源代码如下: # -*- coding:utf-8 -*- import turtle import time # 画爱心的顶部 d ...

  8. 程序员表白代码python_程序员python表白代码

    python表白代码 源代码如下: # -*- coding:utf-8 -*- import turtle import time # 画爱心的顶部 def LittleHeart(): for i ...

  9. 程序员、工程师使用mac电脑过程中遇到的各种坑汇总

    由于mac电脑的电源待机时间超长,操作便利,系统响应快,超能的命令行,便于携带,越来越多程序猿们开始从windows转向mac.鉴于目前大部分应用都是先有windows版本,然后再开发mac版本,因此 ...

最新文章

  1. Android 对象型数据库 db4o
  2. 2016-03-09c中指针与数组学习记录
  3. P5591-小猪佩奇学数学【单位根反演】
  4. 转——C# DataGridView控件 动态添加新行
  5. live555学习笔记3-消息循环
  6. 智能路由器-OpenWRT 系列三 (OpenWRT安装LuCI网络配置)
  7. 【十四】jvm 性能调优实例
  8. python如果选择不在列表里_使用python中的in ,not in来检查元素是不是在列表中的方法...
  9. Github上好的Android开源框架
  10. JSP + AjaxAnywhere页面开发规范
  11. PMP第三节:项目管理过程
  12. 计算机网络中使用的最多的交换技术是,计算机网络中主要使用的交换技术
  13. 深入理解Docker ulimit
  14. 巫师编程语言“咒语” 设想
  15. 巴铁兄弟加我微信,问如何通过写博客赚钱?
  16. webrtc代码走读二十一(InterArrival::ComputeDeltas)
  17. 各版本cuDNN驱动下载地址 无需注册
  18. 学python怎么样
  19. wms仓库管理系统的货架摆放原则
  20. Python 爬虫 Vimeo视频下载链接

热门文章

  1. sts集成jboss_JBoss BPM Travel Agency演示与现代BPM数据集成
  2. primefaces_使用PrimeFaces开发数据导出实用程序
  3. HATEOAS的RESTful服务。 记录超媒体API
  4. activemq网络桥接_ActiveMQ –经纪人网络解释–第3部分
  5. Java 12:使用开关表达式进行映射
  6. J2Pay – API响应
  7. Apache Ignite变得简单:第一个Java应用程序
  8. ubuntu生成密钥和证书_基于浏览器的密钥生成以及与浏览器的密钥/证书存储的交互...
  9. maven依赖最佳实践_Maven最佳实践
  10. 这是东西:jUnit:动态测试生成