JavaScript數(shù)組(1)

創(chuàng)建數(shù)組

數(shù)組,即Array。在JavaScript中用的頻率還是蠻高的,而且JS的數(shù)組相當(dāng)靈活。
首先我們應(yīng)該知道,數(shù)組是JS內(nèi)置的眾多對(duì)象之一,說白了,數(shù)組也是對(duì)象。既然是對(duì)象,那么對(duì)象的特征數(shù)組也肯定有。
我們先來創(chuàng)建創(chuàng)建數(shù)組,創(chuàng)建數(shù)組有以下幾種方法:

1.new + 構(gòu)造函數(shù)

來看以下代碼

var arr1 = new Array();

定義一個(gè)變量arr1,然后使用new+Array構(gòu)造函數(shù)創(chuàng)建數(shù)組,注意,這樣創(chuàng)建出來的是一個(gè)空數(shù)組,可以用數(shù)組的length屬性來查看

console.log(arr1.length);   //返回0

上面說了,Array也是對(duì)象,那么對(duì)象有屬性有方法,Array肯定也有屬性和方法咯,length就是Array的屬性之一,用于獲取數(shù)組長(zhǎng)度
那么我們?nèi)绾蝿?chuàng)建有長(zhǎng)度或內(nèi)容的數(shù)組呢?看以下代碼

var arr2 = new Array(3);
arr2[0] = "tom";
arr2[1] = "halen";

同樣使用構(gòu)造函數(shù)創(chuàng)建一個(gè)數(shù)組,只不過我們這次在括號(hào)內(nèi)定義了數(shù)組的長(zhǎng)度為3,接下來我們使用變量[下標(biāo)]的方式來給數(shù)組賦值。
這是一種很常見的方式,使用這種方式我們就可以給數(shù)組某個(gè)下標(biāo)位置賦值,同時(shí)也能獲取某個(gè)下標(biāo)對(duì)應(yīng)的值。

console.log(arr2[2]); //返回undefined,因?yàn)槲覀兩厦娌]有給下標(biāo)位置2進(jìn)行賦值,所以默認(rèn)是undefined

同樣的,我們可以直接在括號(hào)內(nèi)放入值而不必挨個(gè)賦值,

var arr3 = new Array("tom","alen","Jane");
console.log(arr3);// 返回["tom","alen","Jane"];

2.字面量方法

我們?nèi)粘慗S更多的是使用對(duì)象字面量方式來創(chuàng)建對(duì)象,如下

var arr4 = ["hello","world",false,124];

看起來是不是簡(jiǎn)便多了?

檢測(cè)數(shù)組

檢測(cè)數(shù)組的方法有2種,一種就是大家所熟知的instanceof操作符,例如

    var array1 = ["124",124,false];
    console.log(array1 instanceof Array);//返回true

instanceof操作符用來檢測(cè)引用類型,例如Function,Array等,因?yàn)閿?shù)組也是對(duì)象,所以下面的代碼同樣返回true.

       console.log(array1 instanceof Object);  //返回true

另外一種就是ECMAscript5新增加的Array.isArray()方法,這個(gè)方法主要是用來解決數(shù)組跨框架判斷錯(cuò)誤的問題的,因此建議在瀏覽器支持的情況下優(yōu)先使用該方法。栗子如下

     console.log(Array.isArray(array1));  //返回true
     var a = "something";
     console.log(Array.isArray(a));   //肯定返回false咯
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容