数组

(1)、数组的定义

  数组是值的有序集合

  javascript数组是无类型的;数组元素可以是任意类型,并且同一个数组的不同元素也可能有不同的类型。

  每个值叫做一个元素,而每个元素在数组中有一个位置

(2)、创建数组

1.使用数组直接量是创建数组最简单的方式,在方括号中将数组元素用逗号隔开即可。

  eg:var empty = []; //没有元素的数组

  eg:var primes = [2,3,4,5,7]; //有5个数值的数组

  eg:var misc = [1.1,true,”a”,]; //有3个不同类型的元素和结尾的逗号 数组直接量中的值不一定要是常量,可以是任意的表达式。

  eg:var base = 1602;

    var table = [base+1,base+2,base+3];

  如果省略数组直接量中的某个值,省略的元素将被赋予undefined值。

     var count = [1,,3]; //数组有3个元素,中间的那个元素值为undefined

     var undefs = [,,]; //数组有两个元素,都是undefined 数组直接量的语法允许有可选的结尾的逗号,故[,,]只有两个元素而非三个。

2.调用构造函数Array()是创建数组的另外一种方法。可以用三种方式调用构造函数。

  ①调用时没有参数: var a = new Array();该方法创建一个没有任何元素的空数组,等同于数组直接量[]。

  ②调用时有一个数值参数,它指定长度: var a = new Array(10) 当预先知道所需元素个数时,这种形式的Array()构造函数可以用来预分配一个数组空间。

  ③显示指定两个或多个数组元素或者数组的一个非数值元素: var a = new Array(5,4,3,2,1,”test”); 以这种形式,构造函数的参数将会成为新数组的元素。使用数组字面量比这样使用Array()构造函数要简单多了。

(3)、数组元素的读和写

  使用[]操作符来访问数组元素中的一个元素。数组的引用位于方括号的左边。方括号中是一个返回非负整数值的任意表达式。使用该语法既可以读,也可以写数组的一个元素。

1.通过指定数组名以及索引号码,你可以访问某个特定的元素。Eg:mycars[0]

2. 如需修改已有数组中的值,只要向指定下标号添加一个新值即可:Eg:mycars[0]="Opel";

(4)、数组长度

  定义:length 属性可设置或返回数组中元素的数目。(从1开始)

  数组的 length 属性总是比数组中定义的最后一个元素的下标大

1.  对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。

    数组的 length 属性在用构造函数 Array() 创建数组时被初始化。给数组添加新元素时,如果必要,将更新 length 的值。

    设置 length 属性可改变数组的大小。如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失。如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined。

eg:[].length ==0

   [1,2,3].length ==3

(5)、检测是不是数组

1.  运用instanceof运算符来判断一个对象是不是数组

     instanceof 是一个二元运算符,左边操作数是一个对象,不是的话返回false,右边操作数是一个函数对象或者函数构造器,不是的话返回false。原理是通过判断左操作数的对象的原型链上是否具有右操作数的构造函数的prototype属性。

eg:arr instanceof Array

2.  可以使用Array.isArray(arr)

    这个ES5新增的一个Array方法,该方法是Array对象的一个静态函数,用来判断一个对象是不是数组。

JavaScript中的数组的更多相关文章

  1. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  2. Javascript中判断数组的正确姿势

    在 Javascript 中,如何判断一个变量是否是数组? 最好的方式是用 ES5 提供的 Array.isArray() 方法(毕竟原生的才是最屌的): var a = [0, 1, 2]; con ...

  3. javascript中的数组扩展(一)

     javascript中的数组扩展(一) 随着学习的深入,发现需要学习的关于数组的内容也越来越多,后面将会慢慢归纳,有的是对前面的强化,有些则是关于前面的补充. 一.数组的本质    数组是按照次序排 ...

  4. JavaScript中的数组详解

    JavaScript中的数组 一.数组的定义 数组是值的有序集合,或者说数组都是数据的有序列表. 二.创建数组 [字面量形式] 1.空数组 var arr=[]; 2.带有元素的数组 var arr= ...

  5. JavaScript中对数组的操作

    原文:JavaScript中对数组的操作 一:数组的使用 1.定义:JavaScript中对数组的定义有两种形式.如: .var arr = [12,3,5,8]; .var arr = new Ar ...

  6. JavaScript中对数组和数组API的认识

    JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...

  7. JavaScript中的数组和字符串

    知识内容: 1.JavaScript中的数组 2.JavaScript中的字符串 一.JavaScript中的数组 1.JavaScript中的数组是什么 数组指的是数据的有序列表,每种语言基本上都有 ...

  8. JavaScript中的数组创建

    JavaScript中的数组创建 数组是一个包含了对象或原始类型的有序集合.很难想象一个不使用数组的程序会是什么样. 以下是几种操作数组的方式: 初始化数组并设置初始值 通过索引访问数组元素 添加新元 ...

  9. JavaScript中Array(数组) 对象

    JavaScript中Array 对象 JavaScript中创建数组有两种方式 (一)使用直接量表示法: var arr4 = []; //创建一个空数组var arr5 = [20]; // 创建 ...

  10. JavaScript中一个对象数组按照另一个数组排序

    JavaScript中一个对象数组按照另一个数组排序 需求:排序 const arr1 = [33, 11, 55, 22, 66]; const arr2 = [{age: 55}, {age: 2 ...

随机推荐

  1. Memcached安装使用教程及常见问题

    一.Windows下安装memcahed 1.下载memcache的windows稳定版,解压放某个盘下面,比如在c:/memcached2.在终端(也即cmd命令界面)下输入"c:/mem ...

  2. C语言学习的第一章

    首先,学习编写程序要先知道什么是程序,我们为什么要写程序? 程序就是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合.程序里有很多算法,算法是解决问题的具体方法和步骤,就像我们想要得 ...

  3. Javascript中变量作用域(2)

    多层函数调用取变量时,无论在哪里调用,要到创建此函数的作用域中取值,如果找不到再往上一级,直到全局变量. 外面定义了很多的全局的变量,下面我们来一个个理一下. 定义三个变量a,b,c;将A1函数赋值给 ...

  4. 【WPF】学习笔记(一)——做一个简单的电子签名板

    参加实习(WPF)已经有两个多周的时间了,踩了一些坑,也算积累了一些小东西,准备慢慢拿出来分享一下.(●'◡'●) 这次呢就讲讲一个简单的电子签名板的实现. 先上张图(PS:字写得比较丑,不要太在意哈 ...

  5. angularjs 路由模块

    1. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...

  6. 开源库RxJava、ButterKnife学习记录

    1. 简介 RxJava "RxJava is a Java VM implementation of Reactive Extensions: a library for composin ...

  7. .net Ajax与后台一般处理程序(ashx) 交互

    本文主要实现无动态刷新查询后台数据功能,主要用到ajax+ashx+sqlserver进行交互. 首先需要引用Jquery: <script language="javascript& ...

  8. SUSE 11下安装DPDK

    SUSE下安装与centos下安装有稍许不同: # cd  dpdk-1.8.0 # grep -rn Werror . |grep -iE "Makefile|mk" |awk ...

  9. MyBatis之级联小结

    在这之前我们知道了MyBatis为我们提供了三种级联:一对一关系(assocation).一对多关系(collection).鉴别器(discriminator).在最后一个鉴别器例子中,看到了当层级 ...

  10. Hadoop中Hbase的体系结构

    HRegion 当一张表中的数据特别多的时候,HBase把表拆成多个块,每个块就是一个HRegion,每个region中包含这个表里的所有行 HRegionServer 数据库的数据存在HDFS文件系 ...