最近心血來潮要開始玩博客了,剛好也在看數組這塊內容,第一篇就只好拿數組開刀了,自己總結的,有什麼不對的地方還請批評指正,還有什麼沒寫到的方面也可以提出來我進行完善,謝謝~~ 首先,大概說說數組的基本用法。 數組,即Array類型,是開發中最常用的類型之一,javascript中的數組和其他語言最大的 ...
最近心血來潮要開始玩博客了,剛好也在看數組這塊內容,第一篇就只好拿數組開刀了,自己總結的,有什麼不對的地方還請批評指正,還有什麼沒寫到的方面也可以提出來我進行完善,謝謝~~
首先,大概說說數組的基本用法。
數組,即Array類型,是開發中最常用的類型之一,javascript中的數組和其他語言最大的區別就是每一項可以保存任何類型的數據,而且數組的大小是可以動態調整的,有點繞?看看代碼吧
1.數組的創建:
var arr=new Array(20); var arr1=["小傘",1,true,undefined,[2,"王"],""]
第一行用數組構造法創建了一個length值為20的數組,第二行用數組字面量表示法創建了一個多種數據類型並存的數組。
第一行的方法有點小坑,括弧里指定的是數組的長度,而不是數組第一個元素是20 ,要想創建有一個元素是20的這麼一個數組,還是用字面量法創建吧。
還有一個小坑,看代碼
var arr=[1,2,]; var arr1=[,,,,,]
第一行這句會在IE8以及之前版本中創建一個值分別為1,2,undefined的數組,其他瀏覽器會產生一個兩項分別是1,2的數組
第二行同樣的可能會在不同瀏覽器上包含5項或者6項。(IE9以上修複了這個問題,但還是不推薦這種寫法)
2.數組元素的基本操作
js的數組非常的靈活,擁有很多數組元素操作的方法,但也有一些小坑,比如:
var arr=[]; arr[0]=1;arr[1]=2;arr.push(3); //arr=[1,2,3]
arr[arr.length]=4; //arr=[1,2,3,4]
arr.unshift(0); //arr=[0,1,2,3,4];
delect arr[2]; //arr=[0,1,undefined,3,4]
arr[0]=undefined //arr=[undefined,1,undefined,3,4]
push()方法會給數組最後邊添加一個元素,得到的值可以看註釋,^_^
也可以直接手動在數組下標拓展以為,如第三行,其實就相當於push(4);
那如果想在數組元素最前邊添加呢,別急,有unshift()方法。
與此對應的有刪除元素的pop()方法和shift()方法,分別和push(),unshift()對應,就不再贅述了。
delect 運算符對數組的操作不會刪除掉數組的元素,可以說是用undefined來占個位子,和直接賦值是一樣的。
3.稀疏數組
稀疏數組是指數組的下標並不是從0開始,一般數組的長度要比元素的個數要多:
var arr1=[undefined]; var arr2=new Array(1); 0 in arr1; //true 0 in arr2; //false var arr3=new Array(100); arr3[99]="賦值"; 99 in arr3; //true 98 in arr3; //false
arr1中是因為數組第1列是有值的,雖然是undefined,arr2只是指定了數組長度,第1列還是沒有值,所以用in語句會返回false。arr3中給第第100個元素賦值後檢測是有值的,對其他列的key是沒有影響的,所以還是返回了false。
下次來寫數組的一些操作方法。
javascript數組淺談2 http://www.cnblogs.com/wangxiaosan/p/5504687.html