这篇文章要介绍 Javascript 阵列的基本观念
阵列十字宣告阵列
var Array = [];
这个应该大家都很熟悉
那么我们再阵列中,不需要宣告属性,我们直接把资料丢进去,并且用 ,
隔开就可以了。
var Array = [ 1, '字串', false, { name: '小明' }];console.log(Array);
可以看到印出来的 (4)
这个数字代表阵列的长度,那么我们之前知道阵列也是物件型别的资料,所以也可以新增属性对吧!
var Array = [ 1, '字串', false, { name: '小明' }];Array.color = 'red';console.log(Array);
新增属性以后会发现,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后面的()中,放入你想要传入的资料结构,或是用一个变数承装后,放入变数。
都可以达到一样的效果。
2. 使用中括号[]
var Array = [ 1, '字串', false, { name: '小明' }];Array.color = 'red';Array[5] = {x: 1};console.log(Array);
使用中括号还有一个特别要注意的地方就是,如果你今天跳号了,那么中间的缺会自动补上undefined,并且会计算undefined到阵列的长度里面
var Array = [ 1, '字串', false, { name: '小明' }];Array.color = 'red';Array[6] = {x: 6};console.log(Array);console.log(Array[5]);
基础的方法就先介绍这两种,还有很多其他处理阵列的方法,有空再在其他篇章介绍。
取用阵列中的资料
要取用阵列的资料首先要先了解 索引值(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()
的方法,来重新指向另一个记忆体空间的阵列。
以上就是关于阵列的说明,希望对各位有帮助~汪汪