網頁設計

當前位置 /首頁/設計製作/網頁設計/列表

淺談javascript陣列

在程式語言中陣列的重要性不言而喻,JavaScript中陣列也是最常使用的物件之一,陣列是值的有序集合,由於弱型別的原因,JavaScript中陣列十分靈活、強大,不像是Java等強型別高階語言陣列只能存放同一型別或其子型別元素,JavaScript在同一個陣列中可以存放多種型別的元素,而且是長度也是可以動態調整的,可以隨著資料增加或減少自動對陣列長度做更改。

淺談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; //true0 in arr2; //falsevar arr3=new Array(100);arr3[99]="賦值";99 in arr3; //true98 in arr3; //false

arr1中是因為陣列第1列是有值的,雖然是undefined,arr2只是指定了陣列長度,第1列還是沒有值,所以用in語句會返回false。arr3中給第第100個元素賦值後檢測是有值的,對其他列的key是沒有影響的,所以還是返回了false。

以上所述是小編給大家介紹的Javascript陣列的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我們留言,小編會及時回覆大家的。在此也非常感謝大家對的支援!

TAG標籤:JavaScript 陣列 淺談 #