js學習筆記之 陣列(一)

2022-04-16 22:16:14 字數 1786 閱讀 3626

今天來學習一下js中的一維陣列、二維陣列,以及陣列的賦值、遍歷、刪除、排序等操作;

1 陣列的宣告

js提供了乙個陣列物件array,預設是一維陣列,其申明的方法如下:

var acity = new array();

在實際應用中,可以在申明的同時,給陣列進行賦值:

var acity =  new array("北京","上海","廣州");

還可以在宣告陣列時,給陣列指定長度;

var acity =  new array(2);

要說明的是,本方法建立陣列指定了長度,但實際上所有情況下陣列都是變長的,也就是說即使指定了長度為2,仍然可以將元素儲存在規定長度以外的,注意:這時長度會隨之改變。

2  二維陣列宣告

步驟1: 宣告乙個一維陣列   var acity = new array();

步驟2: 宣告子陣列           acity[0] = new array();

acity[1] = new array();

acity[2] = new array();

//給二維陣列賦值:  acity[0][0] = "常州";

3 陣列賦值:

給陣列賦值有以下幾種形式:

(1)宣告時直接賦值

var acity =  new array("北京","上海","廣州");

(2)新增元素

var acity = new array();

acity[0] = "南京";

acity.push("北京","四川");       //push方法用於在陣列尾部新增元素 ,遍歷輸出: 南京、北京、四川

acity.unshift("上海","天津");    //unshift方法用於在陣列頭部新增元素,遍歷輸出:上海、天津、南京、北京、四川

(3)指定長度的陣列賦值

var bcar = new array(2);

bcar.push("賓士");

bcar.push("寶馬");

bcar.push("沃爾沃");

alert(bcar.length);

//請大家一同思考乙個問題,這裡輸出的長度是多少?

來看看執行結果:

是的,是5,而不是3,也就是說,在宣告陣列時所占用的2個長度,並沒有給賦值,那麼我們可以輸出bcar[0]和bcar[2]來看看:

輸出結果可以看到,bcar[0]和bcar[1]沒有進行賦值,push方法是從bcar[2]開始新增元素;同理我們使用 bcar.unshift("皇冠","別克");進行新增元素,

結果是:"皇冠","別克"兩個元素也不占用系統分配的2個空元素,插入在空元素之前,這時的bcar[3]、bcar[4]變成了空元素;

那麼,我們如何給這兩個空元素進行賦值呢?

var bcar = new array(2);

bcar[0] = "福特";

bcar[1] = "本田";

這樣賦值方法,即給空元素指定賦值了,其陣列長度任然為2;    

綜上所述: push方法和unshift方法嚴格講是「插入元素」,並不覆蓋陣列初始化宣告時所產生的空元素,這裡在使用的時候要注意;

學習筆記之陣列(一)

陣列的定義 資料型別 陣列名 new 資料型別 大小 int a new int 5 建立了乙個陣列,名字a,存放5個int 動態初始化 或者int a 靜態初始化 1 陣列是多個相同型別資料的組合,實現對這些資料的統一管理 2 陣列中的元素可以是任何資料型別,包括基本型別和引用型別,但是不能混用。...

小白JS學習筆記之陣列 二

array.isarray value 判斷是不是陣列的方法 舉例 var list aa bb console.log array.isarray list true 將陣列轉換成字串的三大方法 tostring tolocalstring valueof var color red blue g...

JS學習之陣列

轉換方法 tostring tolocalstring valueof join 方法接受乙個引數 用作分隔符。棧方法 佇列方法 重新排序方法 reverse sort sort比較的是字串。sort 預設按公升序排列。它會呼叫tostring 然後比較得到的字串。如果呼叫該方法時沒有使用引數,將按...