Javascript 进阶 4-10 阵列

这篇文章要介绍 Javascript 阵列的基本观念

阵列十字宣告阵列

var Array = [];

这个应该大家都很熟悉

那么我们再阵列中,不需要宣告属性,我们直接把资料丢进去,并且用 , 隔开就可以了。

var Array = [    1,    '字串',    false,    {        name: '小明'    }];console.log(Array);

http://img2.58codes.com/2024/20121770CWIHiV4jdE.png

可以看到印出来的 (4) 这个数字代表阵列的长度,那么我们之前知道阵列也是物件型别的资料,所以也可以新增属性对吧!

var Array = [    1,    '字串',    false,    {        name: '小明'    }];Array.color = 'red';console.log(Array);

http://img2.58codes.com/2024/20121770mwQ7PHuSqc.png

新增属性以后会发现,OK新增进去了,但是阵列的长度还是没有改变喔,所以新增的属性并不会被算在阵列的资料长度中。

新增阵列中的资料

除了一开始订好的阵列结构之外,我中途想要新增阵列的内容的话,有哪些方法呢?

1. push

push 是最常用的一个方法,他会在阵列最后一个位置新增你要的值

var Array = [    1,    '字串',    false,    {        name: '小明'    }];Array.color = 'red';Array.push('100年');var aa = 'aa';Array.push(aa);console.log(Array);

你可以直接在push后面的()中,放入你想要传入的资料结构,或是用一个变数承装后,放入变数。

http://img2.58codes.com/2024/20121770ojaZyHbEoO.png

都可以达到一样的效果。

2. 使用中括号[]

var Array = [    1,    '字串',    false,    {        name: '小明'    }];Array.color = 'red';Array[5] = {x: 1};console.log(Array);

http://img2.58codes.com/2024/20121770u8ndQoD7Il.png

使用中括号还有一个特别要注意的地方就是,如果你今天跳号了,那么中间的缺会自动补上undefined,并且会计算undefined到阵列的长度里面

var Array = [    1,    '字串',    false,    {        name: '小明'    }];Array.color = 'red';Array[6] = {x: 6};console.log(Array);console.log(Array[5]);

http://img2.58codes.com/2024/20121770WlQTzlNdGW.png

基础的方法就先介绍这两种,还有很多其他处理阵列的方法,有空再在其他篇章介绍。

取用阵列中的资料

要取用阵列的资料首先要先了解 索引值(index) 的观念,索引值是从0开始,而0则对应数数的1,0 => 1/ 1 => ...以此类推。

所以如果以这样的结构为例,我要取得第三个布林值的false的话,我就要使用 Array[2] ,取得资料喔!

var Array = [    1,    '字串',    false,    {        name: '小明'    }];console.log(Array[2]);

并且要注意喔,阵列取值的时候是不能用 . ,例如 Array.2,这样是不行的喔!

利用 for 迴圈全部印出来

要利用for迴圈全部印出来首先要先知道你的阵列的长度要怎么取,很简单就用 阵列.length

var Array = [    1,    '字串',    false,    {        name: '小明'    }];console.log(Array.length); // 4

这样就可以知道你的阵列长度了

再来用for迴圈印出所有的阵列内容

var Array = [    1,    '字串',    false,    {        name: '小明'    }];for(var i = 0; i < Array.length; i++){    console.log(Array[i]);}

这样就可以把阵列一个一个取出来噜~

阵列的参考特性

之前讲到浅拷贝跟深拷贝,既然阵列也是物件的一种,同样也存在着 call by reference 的特性,要避免这个特性,我们可以使用 阵列.slice() 的方法,来重新指向另一个记忆体空间的阵列。

http://img2.58codes.com/2024/20121770q9dqhqdbsu.png

以上就是关于阵列的说明,希望对各位有帮助~汪汪


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章