当前位置: 首页 > 编程日记 > 正文

javascript——Array类型

今天这节教程不仅仅是阐述ECMAScript3的部分功能,同时也会阐述有关EXMASctip5的很多新的功能

一、创建

因为它是一个引用类型,自然就需要在使用前先构造它。

我将分成两种方式来讲述

I、构造函数

1.空的Array实例

var colors = new Array();

2.初始化存储数量的Array实例

1 var colors = new Array(20);

其中的参数"20"创建一个length为20个数组。

3.带数据的Array实例

1 var colors = new Array("red","black","white");

其中直接将需要存储的数据放在的构造函数中来初始化。

其实上面的构造函数中都可以省略"new"而是直接使用"var color = Array();" 即可。

II、字面量表示法

1.空的Array实例

var color = [];

2.带数据的Array实例

1 var colors = ["red","white","black"];

二、操作

既然我们已经创造的数组,那么我们就必须要学会如何去使用它。

下面我从访问数据、修改数据、删除数据和添加数据的方面来阐述。

I、访问数据

1.通过索引访问

1 var colors = ["red","black","white"];
2 alert(colors[0]); //弹出"red"
3 alert(colors[3]); //弹出"undefined"

当我们访问的索引已经超过上限,那么最终返回给我们的值将是"undefined"字符串。

II、修改数据

1.通过索引修改

1 var colors = ["red","white","black"];
2 colors[1] = "green";
3 alert(colors[1]) // 返回"green"字符串

III、删除数据

1.从后向前将数组删除至指定大小

1 var colors = ["red","black","white"];
2 alert(colors.length) //返回"3" 表示有三个数据
3 colors.length = 1;
4 alert(colors[0]); //返回"red"字符串
5 alert(colors[1]); //返回"undefined"字符串

这种方法很适合需要在从后向前删除大量数据的时候使用,仅仅是将"length"属性设置为删除后的数组大小即可。

2.删除指定的数据

1 var colors = ["red","black","white"];
2 colors.splice(0,1);
3 alert(colors.length); // 弹出"2" 表示已经删除了一条数据
4 alert(colors[0]);      // 弹出"black"字符串  因为"red"已经被删除

这里我们使用"splice"删除指定的数据,其实不仅仅只是删除一条数据。"splice"的第二个参数表示需要删除的数量(如果为零,则可以在指定的数据后面添加数据),第一个参数是数据的索引位置(基于0).

3.删除指定的数据并替换为指定的数据

1 var colors = ["red","white","black"];
2 colors.splice(0,1,["green","blue"]);
3 alert(colors.length); //弹出"4"字符串
4 alert(colors[0]);// 弹出"green" 表示第一个数据已经被删除
5 alert(colors[1]); // 弹出"blue" 表示数据添加成功

这里我们使用了"splice"的第三个参数将我们需要添加的数据放到了第三个参数中。

IIII、添加数据

1.追加数据

1 var colors = ["red","white","black"];
2 colors[colors.length] = "green";
3 colors[colors,length] = "blue";
4 alert(colors.length); //弹出"5"字符串
5 alert(colors[4]); //弹出"blue"字符串 表示数据成功追加

这里估计有人会困惑为什么用"colors,length",其实原理很简单,因为"length"属性永远比当前的最大索引大一,而且javascript又支持这种方式的赋值,自然就可以追加数据了。

1 var colors = ["red","white","black"];
2 colors.concat(["white","blue"]);
3 alert(colors.length); //弹出"5" 表示追加成功

2.在指定位置添加数据

1 var colors = ["red","black","white"];
2 colors.splice(1,0,["green","blue"]);
3 alert(colors.length); //弹出"5"
4 alert(colors[2]); //弹出"green"字符串

这里的这种方法前面已经阐述过,再次不在阐述

  三、获得指定数据(进阶)

I、获得指定范围内的数据

1 var colors = ["red","black","white"];
2 alert(colors.slice(1)); //弹出"black,white" 字符串

这里的"slice"用来获得指定位置的数据,这里只传递了一个参数,参数是要获得数据的索引。

1 var colors = ["red","black","white"];
2 alert(colors.slice(1,2)); //弹出"black"字符春

这里使用的两个参数的"slice",读者可能会发现只有弹出了"black"字符串,却没有弹出"white"字符串。因为最后指定的索引"4"是不会显示的。只会显示开始索引的数据到第二个参数指定的索引(不包括)

II、获得指定分隔符数据

1 var colors = ["red","blue","white"];
2 alert(colors.join("|")); //弹出"red|blue|white" 字符串

四、数据存储方式

I、栈

1 var colors = ["red","black","white"];
2 colors.push("black"); //压栈
3 alert(colors.pop()); // 弹出"black" 字符串

II、队列

1 var colors = ["red","black","white"];
2 colors.push("black");
3 alert(colors.shift()); //弹出"red"字符串
1 var colors = ["red","white","black"];
2 colors.unshift("blue");
3 alert(colors.pop()); //弹出"red"字符串

以上只是部分内容,后面将会继续更新

转载于:https://www.cnblogs.com/yaozhenfa/archive/2013/02/25/2932469.html

相关文章:

iOS使用自签名证书实现HTTPS请求

原文链接:http://www.jianshu.com/p/e6a26ecd84aa 由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现。相信大家对HTTPS都或多或少有些了解,这里我就不再介…

蜜蜂实训平台c语言考试答案,北理c语言上机答案(全)

小蜜蜂的不过,麻烦大家上百度找一下~1 Hello world让我们用C语言向世界问好。 最早的程序基本是这个样子的: 程序一:#include void main() {printf("Hello world.\n"); }程序二:#include int main() {printf("Hello world.\n&…

ecshop目录结构

ECShop 最新程序 的结构图及各文件相应功能介绍ECShop文件结构目录┣ activity.php 活动列表┣ affiche.php 广告处理文件┣ affiliate.php 生成商品列表┣ article.php 文章内容┣ article_cat.php文章分类┣ auction.php 拍卖前台文件┣ brand.php 品牌列表┣ captcha.php 生…

一劳永逸,iOS 网页视图控制器通用类封装

原文链接:http://www.jianshu.com/p/553424763585随着 H5 的发展,在 iOS 开发中,网页视图的使用率逐渐提升,为了增加代码封装度、减轻开发负担,因此通常会对网页视图进行通用类的封装,本文简单讲述网页视图…

enyo官方开发入门教程翻译一Layout之Fittables

Fittables Fittable包帮助你创建布局更合理的使用可用空间(app都有这样的布局需求,但使用以前的web技术很难做到这一点)。个人观点,现在移动Web开发框架中有很多都支持自适应布局,如senchatouch,但是enyo的…

c语言 栈结构存放数据类型,数据结构——栈的详解

栈和队列是两种重要的线性结构,从数据结构的角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表的子集。他们是操作受限的线性表,因此,可称为限定性的数据结构。但从数据类型角度看,他们是…

Verlet Integration

Verlet Integration Verlet 积分法是一种用于求解牛顿运动方程的数值方法,被广泛运用于动力学模拟以及视频游戏中。尔莱算法的优点在于:数值稳定性比简单的欧拉方法高很多,并保持了物理系统中的时间可逆性与相空间体积元体积守恒的性质。 基本…

[译] iOS 开发之新版 APNs 搭建必备知识

原文链接:http://www.jianshu.com/p/d8dba6c2c07a本文的大部分内容是对苹果关于 APNs 官方文档的翻译以及整理。 —— 由 稀土君 分享本文的大部分内容是对苹果关于APNs官方文档的翻译以及整理。 一、设备token和消息的生命周期 关于设备token以及推送消息的生命周期…

使用Application.GetResourceStream从XAP安装包加载任意资源

不得不说,WP7开发的资料真的是太少了,国内有句话叫“天下文章一大抄”,查Application.GetResourceStream的用法,找遍了整个网络,无非就那一两篇,而且写得还不完整,包括微软官方的例子。在花了近…

c语言知道算法写不出代码,这个代码怎么写算法啊,求教,我真的不会写算法怎么办#incl...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼这个代码怎么写算法啊,求教,我真的不会写算法怎么办#include "stdio.h"#define N 3 //学生数3。struct Student //建立结构体。{int num;char name[20];float score[3];float aver;};int main(){v…

猎豹MFC--列表控件ListControl

ListControl添加变量:关联控件变量:初始化:设置样式 添加列标题:添加位图资源:添加位图变量:创建图像列表:并把图像列表 给 列表控件使用:双击添加行按钮:添加第2列时 不…

iOS 命令行自动打包 (archive)

原文链接:http://www.jianshu.com/p/2247f76404ebiOS 开发工程师在测试修复 bug 的过程中,一般会存在频繁打包的情况,如果一步步在 xcode 中点击 archive,下一步,下一步。。。这样太浪费我们的时间了。下面我们来介绍在…

看看现在大型网站都是用什么语言写的 ?

看看现在大型网站都是用什么语言写的 ? 不排除一个网站用多种技术!如淘宝是Java php,底层是java,表现层是php。新浪,网易,腾讯应该也是用了多种技术。 据说是这样的:php,新浪&#…

数据结构 算法与应用C 语言描述第六章,数据结构算法与应用-C语言描述002.pdf

下载下载第2 章 程 序 性 能以下是本章中所介绍的有关程序性能分析与测量的概念:• 确定一个程序对内存及时间的需求。• 使用操作数和执行步数来测量一个程序的时间需求。• 采用渐进符号描述复杂性,如 O、 、 、o 。• 利用计时函数测量一个程序的实际…

GCD 容易让人迷惑的几个小问题

来源:涂耀辉 链接:http://www.jianshu.com/p/ff444d664e51 写在开头: 本文旨在阐述一些大家容易产生迷惑的GCD相关内容,如果是需要了解一些GCD概念或者基础用法,可以看看这两篇文章:GCD 扫盲篇、巧谈GCD 。…

【贪心】【codevs】1214 线段覆盖

http://codevs.cn/problem/1214/ 我去这个题。。。wa的我都没脾气了。。。 我写while(~scanf(“%d”, &n))竟然是不对的。。。 这个程序你妹多次输入是不能结束的???&#xff1f…

虚函数表剖析,网上转的,呵呵

http://www.cppblog.com/xczhang/archive/2008/01/20/41508.html C虚函数表解析(转)C中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的…

c++语言文件流,C++ IO类、文件输入输出、string流详细讲解

新的C标准中有三分之二的内容都是描述标准库。接下来重点学习其中几种核心库设施,这些是应该熟练掌握的。标准库的核心是很多容器类(顺序容器和关联容器等)和一簇泛型算法(该类算法通常在顺序容器一定范围内的元素上或其他类型的序列上进行操作)。该篇主要学习IO库。…

iOS 走近商城 APP(三 WKWebView 商品规格选择框架封装)

原文链接:http://www.jianshu.com/p/293ee1bfe104商城 —— 由 3033 分享开篇 忽然发现最近也只有值班才能写东西了,中间更新了两篇其他的断了下商城相关的文章,仔细看了看之前觉得干货太少,今天写点实际的吧,闲说少说…

c语言如何不产生僵尸进程,第三章 九析带你处理 zombie(defunct) 进程

目录1 前言2 僵尸进程2.1 进程简介2.2 僵尸进程例子2.3 僵尸进程危害3 处理僵尸进程3.1 kill 命令3.2 kill 父进程3.3 reboot3.4 magic sysrq key 方法1 前言在 centos7 跑 Docker 和 k8s 时,偶尔会出现 systemctl 失效的情况,现象如下:Faile…

音视频开发学习笔记

http://www.jianshu.com/notebooks/6409162/top

VS2010 MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法...

在MFC的Dialog工程中生成一个CStatic的自定义类,类名例如为:CColorStatic 定义必要的变量: protected:COLORREF m_crText; // 字体颜色COLORREF m_crBackColor; // 背景颜色HBRUSH m_hBrush; // 画刷LOGFONT m_lf; // 字体…

android 上传字符串,Android中发送Http请求(包括文件上传、servlet接收)的实例代码...

/*** 通过拼接的方式构造请求内容,实现参数传输以及文件传输* param actionUrl* param params* param files* return* throws IOException*/public static String post(String actionUrl, Map params,Map files) throws IOException {String BOUNDARY java.util.UU…

JavaScript最全编码规范

转载: JavaScript最全编码规范 类型 ●基本类型:访问基本类型时,应该直接操作类型值 ●string ●number ●boolean ●null ●undefined var foo 1; var bar foo; bar 9; console.log(foo, bar); // > 1, 9 ●复合类型:访问复合类型时&a…

源码推荐:collectionView拖拽,仿凤凰FM iOS 局部监听键盘再也不会挡住输入框

UICollectionView拖拽移动单元以及本地保存(上传者:dengqi) UICollectionView拖拽移动单元以及本地保存,可以保存你上次移动的位置。 仿映客直播导航条(上传者:Coolcool) 仿映客直播自定义TabBa…

采集练习(一) php 获得全国的小学(数据来自腾讯朋友网)

注:发现腾讯朋友网已经改版,部分参数需要自己获得修改 !!! 年前有个需求获得某省的小学数据,分析了下朋友网的小学学校发现可以获得相关数据。 如获得 湖南省郴州市宜章县的全部小学 发现网页请求的地址…

android 模板方法模式,安卓设计模式(七)模板方法模式

模板方法模式用于固定相关操作的执行流程,将具体实现延迟到子类中该系列其他文章:定义: 定义一个操作中算法的框架,而降一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤.使用场景:代码重构时,模板方法是经常被用到的,将固定部分提取到父…

solr单机版的搭建

一、solr单机版的搭建 1.运行环境 solr 需要运行在一个Servlet容器中,Solr4.10.3要求jdk使用1.7以上,Solr默认提供Jetty(ja),本教va写的Servlet容器程使用Tocmat作为Servlet容器,环境如下: Solr…

android5.0后新特性修改标题头,Android5.0中Material Design的新特性

Material Design简介Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干净的排版和简单的布局,以此来突出内容。Material Design对排版、材质、配色、光效、间距、文字大小、交互方式、…

MFCard:易用的信用卡支付集成类库

原文链接:https://github.com/MobileFirstInc/MFCardMFCard:易用的信用卡支付集成类库。# 为开源点赞# —— 由 SwiftLanguage 分享MFCard is an awesome looking Credit Card input & validation control. Written in Swift 3. Demo Usage First St…