JS基礎——數組總結

來源:互聯網
上載者:User

JS基礎——數組總結

JS中數組被認為是一種對象,慢慢的,怎麼忽然感覺,JS中只要可以獨立出來的概念怎麼都可以當成對象來解釋呢?有點兒懷疑。繼續學吧。先來總結一下JS中數組是如何具體使用的。

一、建立

數組的建立在JS中和Object基本上是一樣的。他可以通過new關鍵字來聲明,也可以通過字面量的方法來建立。JS中數組建立只支援一維數組。

1、new

var box=new Array();//new 關鍵字可省略,內部可對數組進行初始化,或者聲明元素的個數,這點其它語言相同

2、字面量

var box=[]; //同樣也可以進行初始化

3、 注意:1、預設數組中每個元素用‘,’分開,可以用Join()方法是用不同的分隔字元對數組元素進行分割,例如:Join('|')

2、JS中數組元素可以為任意類型,甚至可以為數組。建立一個複雜類型的數組:

var box = [ {                            //第一個元素為包含name和age屬性的一個對象         name: 'wyy',         age:22     },     '電腦編程',     [1, 2, 45, 6,new Object()], //字面量方法建立一個數組,內包含一個對象     25 + 34,     new Array(6,7,8)  //這裡為一個數組    ]

二、元素賦值和調用 1、賦值

在為數組元素進行賦值時,可以直接初始化為各個元素進行賦值,但這種方式不夠靈活,如果我們想動態為數組添加元素時,這個時候需要的就是在外部直接為數組中的元素進行賦值。可以利用數組中各個元素的name為其賦值,可以利用元素下標進行賦值。

var  box=[];box.name='wyy';box.age=22;alert(box['name']); //這裡alert(box)直接彈出數組box的話不支援。會彈出空
或者採用數組下標的方式
var  box=[];box[0]='wyy';box[1]=22;alert(box); //利用下標方式可以彈出box中的元素內容
鑒於上述兩種方式的差異所以,通常賦值時,我們採用索引下標進行賦值。那麼根據賦值的方式,數組在調用的時候原理也是一樣的。通過元素名稱和索引下標來進行調用。同時,這裡可以用length屬性來獲得數組元素的個數和數組中最後一個元素的值。

三、對象和操作方法對象方法

1、棧

push:在數組末尾添加一個元素 文法:box.push('123') 注意的是如果是alert(box.push('123'))會返回最新數組的長度

pop:移除數組末尾元素:文法 alert(box.pop())//返回移除元素的值,這裡和push有區別

2、隊列

push:同棧中的push方法

shift:移除最先進去的元素 文法:alert(box.shift())//列印出移除元素

unshift:為數組前端添加一個元素,並返回新數組的長度。box.unshift('123')//存在不相容現象

3、排序

reverse:返回一個逆序排列的數組,原數組也被逆序了,說明操作的是數組的引用

sort:從小到大排序,這個函數在使用前需要對其定序進行聲明。可正負顛倒。

操作方法:

1、concat:基於原來的數組再追加一個新的數組

2、slice()和spice()這兩個方法用途很廣,參數不定,規則也不定,使用時,需要仔細區分。

slice主要用於取值,但不影響原來數組的值

spice主要用於刪除數組中指定的元素。例如:Box.splice(1,3)//從第一個元素開始,取3個元素,並且將原數組中這些元素刪掉。同時也可以用來插入元素,例如:

Box.splice(1,0,'wlj','dsf')//在第一個元素後插入後面的元素

var box1= box.splice(1,0,'hello'); //這裡第二個參數為0,所以沒有要刪除的位置,那麼含義轉變成在第一個位置後面插入一個元素‘hello’。


小結:這一部分的知識比較碎,沒有太多原理上的知識,我們必須將學過的知識進行知網,給它一條線來串起來,就像一個固定的模式一樣可以從建立使用等方面將它們聯絡起來,多多回顧,通過例子來加深理解。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.