除 Object类型外,Array 类型算是ECMAScript中最常用的类型了,而且,ECMAScript中的数组和其他多数语言的数组有着非常大的差别,虽然这些数组都是数据的有序列表,但与其他语言不同的是,ECMAScript数组的每一项可以保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置用来保存数值,第三个位置保存对象...。而且,ECMAScript数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新增数据。

  • 创建数组的方式有两种:

  1.使用Array构造函数,如下代码

var colors = new Array();

如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量,该数量会自动成为 length 的属性值,如下代码

var colors = new Array(10);

也可以向Array构造函数传递数组中应该包含的项,如下代码

var colors = new Array("red","blue","green");

给构造函数传递一个值也可以创建一个数组,如下代码

var colors = new Array(3);    //创建一个包含3项的数组
var name = new Array("Jack"); //创建一个包含1项,即字符串"Jack"的数组

在使用Array构造函数创建数组时,可以省略 new 操作符,结果相同,如下代码

var colors = Array(3);       //创建一个包含3项的数组
var name = Array("Jack"); //创建一个包含1项,即字符串"Jack"的数组

  2.数组字面量表示法,如下代码

var colors = ["red","blue","green"]; //创建一个包含三个字符串的数组
var name = []; //创建一个空数组
var values = [1,2,] //不要这样,这样会创建一个包含2或3项的数组,强烈不建议这种语法
var options = [,,,,,] //不要这样,这样会创建一个包含5或5项的数组,强烈不建议这种语法

注:在使用字面量表示法时,不会调用Array构造函数

  • 读取和设置数组

要用方括号并提供响应值的基于0的数字所以,如下代码

var colors = ["red","blue","green"]; //定义一个字符串数组
alert(colors[0]); //显示第一项
colors[2] = "black"; //修改第二项
colors[3] = "brown"; //新增第四项

数组的length属性不是只读的,因此,通过设置这个属性,可以从数组的末尾移除或者添加新项,如下代码

var colors = ["red","blue","green"]; //定义一个字符串数组
colors.length = 2; 
alert(colors[2]); //undefined (因为移除了第3项,所以他的第3项是undefined)

数组最多可以包含 4,294,967,295 个项,如果超过这个项就会发生异常,创建一个初始大小与这个上限值接近的数组,可能会导致运行时间超长的脚本错误。

JavaScript Array 类型的更多相关文章

  1. javascript array类型用法

    javascript高级编程-Array引用类型用法总结  2016-09-17   |    357 引用类型-Array类型 引用类型是一种数据结构,用于将数据和功能联系起来. 创建对象的方式: ...

  2. javascript Array类型 方法大全

    1,创建数组 //第一种是使用Array构造函数 var colors = new Array(); var colors = new Array(20); //创建length为20的数组 var ...

  3. 从头开始学JavaScript (十二)——Array类型

    原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...

  4. 《JavaScript高级程序设计》读书笔记 ---Array 类型

    除了Object 之外,Array 类型恐怕是ECMAScript 中最常用的类型了.而且,ECMAScript 中的数组与其他多数语言中的数组有着相当大的区别.虽然ECMAScript 数组与其他语 ...

  5. JavaScript入门之数组:Array类型详解

    数组应该是每个语言中都用得极度频繁的数据类型,JavaScript也不例外. 个人认为,Js中的Array类型非常强大. 首先没有C/C++等语言需要在数组初始化时指定数组长度(并不可变)的要求. 也 ...

  6. JavaScript引用类型之Array类型API详解

    Array类型也是ECMASCRIPT中最常见的数据类型,而且数据的每一项可以保存任何类型的数值,而且数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新的数据.下面,总结数据的一些常用方法 ...

  7. 理解javascript中的Array类型

    引子: 从事前端开发有段时间了,个人观点:想在前端开发这条路上走的更远,不仅要学好HTML&HTML5.CSS&CSS3,最重要的就是要学好javascript了.所以打好javasc ...

  8. 浅谈 JavaScript 中 Array 类型的方法使用

    前言:Array 类型是 JavaScript 中除了 Object 类型以外最常用的类型. 一.创建数组 JavaScript 中的数组与其他语言中的数组有着很大的区别.例如Java.PHP等语言中 ...

  9. JavaScript中判断对象是否属于Array类型的4种方法及其背后的原理与局限性

    前言 毫无疑问,Array.isArray是现如今JavaScript中判断对象是否属于Array类型的首选,但是我认为了解本文其余的方法及其背后的原理与局限性也是很有必要的,因为在JavaScrip ...

随机推荐

  1. 修改注册表删除Windows资源管理器 “通过QQ发送” 右键菜单项

    运行regedit 展开至:HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers 删除QQShellExt项

  2. 24-集成ASP.NETCore Identity采用EF

    1-增加IdentityServer4.AspNetIdentity nuget包 2- StartUp.cs启用增加相应的代码  .AddAspNetIdentity<ApplicationU ...

  3. hive 打印日志

    hive -hiveconf hive.root.logger=INFO,console -e 'select 1' hive 打印log ,有时hive 在配置时默认不会将mapper reduce ...

  4. [Real World Haskell翻译]第22章 扩展示例:Web客户端编程

    第22章 扩展示例:Web客户端编程 至此,您已经看到了如何与数据库交互,解析一些数据,以及处理错误.现在让我们更进了一步,引入Web客户端库的组合. 在本章,我们将开发一个真正的应用程序:一个播客下 ...

  5. 20145226夏艺华 《Java程序设计》第1周学习总结

    http://www.cnblogs.com/bestixyh/p/5779286.html 去年暑假写的,确实比较丑陋,保留下来也是为了激励自己作出更多改变.寒假写的每一篇博客都尽最大努力养成了良好 ...

  6. jenkins通过maven指定testng的xml文件,并给testng代码传参

    1.jenkins设置参数化构建,设置要传的参数名和值 2.指定testng的xml文件,在jenkins的输入以下 3.在pom.xml文件分别引用jenkins的参数,设置两个property & ...

  7. Android性能测试 | 启动时间篇

    [转载]原文地址:http://www.51testing.com/html/93/n-3724593.html 背景介绍 Android用户也许会经常碰到以下的问题: 1)应用后台开着,手机很快没电 ...

  8. ElasticSearch搜索引擎安装配置中文分词器IK插件

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  9. linux NULL 的定义

    #undef NULL #if defined(__cplusplus) #define NULL 0 #else #define NULL ((void *)0) #endif

  10. LeetCode 120——三角形最小路径和

    1. 题目 2. 解答 详细解答方案可参考北京大学 MOOC 程序设计与算法(二)算法基础之动态规划部分. 从三角形倒数第二行开始,某一位置只能从左下方或者右下方移动而来,因此,我们只需要求出这两者的 ...