博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript之数组学习
阅读量:6150 次
发布时间:2019-06-21

本文共 2081 字,大约阅读时间需要 6 分钟。

在JavaScript中,数组用关键字Array来声明。声明数组的同时还可以指定数组初始元素的大小,也就是数组的长度;下面代码定义了一个数组长度为6的数组;

var beatles=Array(6);

当然在JavaScript里面可以不声明数组的长度,这完全是可以的!下面代码为没有定义长度的数组,理论上你往里面添加多少元素都没问题;

var beatles=Array();

分析以下代码:

var array = Array(2);array[0] = "H";array[1] = "E";array[2] = "L";array[3] = "L";array[4] = "O";alert(array.length);

这段代码定义了一个长度为2的数组,但是实际却给它添加了5个值,超出开始定义的长度,浏览器试运行,输出5,但是js报错uncaught exception: out of memory,超出数组定义的长度;

 

给数组赋值的方式一共有三种,下面是具体代码:

1.通过数组下标来给数组赋值

var array = Array();array[0] = "H";array[1] = "E";array[2] = "L";array[3] = "L";array[4] = "O";

2.在声明数组的同时给数组赋值

var array = Array("H", "E", "L", "L", "O");

3.我们甚至不用明确表明我们是在创建数组,只需用一对双括号把各个初始值的初始值括起来就行了;

var array = ["H", "E", "L", "L", "O"];

 

 

Important:数组的元素类型;

1.数组的元素类型不必非得是字符串,可以是数值,可以使bool值;

var array = ["A", false, 12, 1245.1];for (var i = 0; i < array.length; i++) {   alert(array[i]);}

依次输出:A,false,12,1245.1;    他们都是不同的数据类型;

 

2.数组的元素可以是一个变量;

var param = "change";var array = ["A", false, 12, param];for (var i = 0; i < array.length; i++) {    alert(array[i]);}

依次输出:A,false,12,change;  输出param的变量值;

3.数组的元素可以是另一个数组的元素;

var param = "change"; var array = ["A", false, 12, param];var beatles = ["B", true, 36];array[0] = beatles[1];for (var i = 0; i < array.length; i++) {     alert(array[i]);}

依次输出:true,false,12,change;    这里注意原先的值会被覆盖A被覆盖成true;

4.数组的元素还可以是另一个数组

var param = "change";var array = ["A", false, 12, param];var beatles = ["B", true, 36];array[0] = beatles;for (var i = 0; i < array.length; i++) {     alert(array[i]);}

依次输出:"B,true,36",false,12,change;   注意若要输出beatles数组中的某一个元素,代码如下:

alert(array[0][1]);

 

总结到这,之前所用到的数组都是传统数组,每个元素的下标是一个数字,每次往数组中增加一个元素,下标就加一,如果在填充数据的时候只给出元素的值,这个数组将是一个传统数组,他的各个元素的下标将被自动创建个刷新;

关联数组根据上面的总结得出,我们可以通过在填充数组时,为每个新元素明确的给出下标来改变这种默认的行为;在为新元素给出下标时,不必局限于使用整数,可以使用字符串,如下代码所示:

var lenovo = Array();lenovo["name"] = "联想";lenovo["year"] = "1994";lenovo["living"] = false;alert(lenovo.length);

 

这就是关联数组。由于可以使用字符串来代替数字值下标,因而代码更具可读性,但是这种用法并不是一个好习惯,不推荐使用。在JavaScript中,事实上所有的变量都是某种类型的对象,比如一个布尔值,就是一个Boolean类型的对象,一个数组就是一个Array类型的对象。在上面那段代码中,实际上是给lenove数组对象添加了name,year,living,三个属性;一般情况下,我们不应该修改Array对象的属性;

 

 

转载地址:http://ummya.baihongyu.com/

你可能感兴趣的文章
cannot run programing "db2"
查看>>
mysql做主从relay-log问题
查看>>
Docker镜像与容器命令
查看>>
批量删除oracle中以相同类型字母开头的表
查看>>
Java基础学习总结(4)——对象转型
查看>>
BZOJ3239Discrete Logging——BSGS
查看>>
SpringMVC权限管理
查看>>
spring 整合 redis 配置
查看>>
redhat6.1下chrome的安装
查看>>
cacti分组发飞信模块开发
查看>>
浅析LUA中游戏脚本语言之魔兽世界
查看>>
飞翔的秘密
查看>>
Red Hat 安装源包出错 Package xxx.rpm is not signed
查看>>
编译安装mysql-5.6.16.tar.gz
查看>>
类与成员变量,成员方法的测试
查看>>
活在当下
查看>>
每天进步一点----- MediaPlayer
查看>>
PowerDesigner中CDM和PDM如何定义外键关系
查看>>
跨域-学习笔记
查看>>
the assignment of reading paper
查看>>