2018-09-26

1.數(shù)組的概念

用于保存一組數(shù)據(jù)的集合。
數(shù)組的定義格式: 中括號或者new定義,里面每一個元素結束的時候使用一個逗號隔開,最后一個元素可以不使用逗號結尾。

2.數(shù)組的申明

2.1 var a = [];
2.2 var a = new Array();

3. instanceof 查看某個變量是否是某個數(shù)據(jù)類型的實例。

4.數(shù)組保存數(shù)據(jù)的格式

嚴格意義上來說數(shù)組可以保存任意格式的數(shù)據(jù)。
如果數(shù)組中保存的還是一個數(shù)組,那么這個數(shù)組叫做多維數(shù)組。
var a =[
[[1,2,3],2,3],
[4,3,2],
[8,2,7]
];

5.數(shù)組的鍵

數(shù)組的每一個元素都是由鍵與值組成。
[1,2,3,4,5];
[
0 => 1,
1 => 2,
2 => 3,
3 => 4,
4 => 5,
]
['a','b','c']
[
0 => 'a',
1 => 'b',
2 => 'c',
]
數(shù)組的鍵是從0 開始的,是一個遞增的數(shù)值隊列。

Object.keys() 獲取某一個數(shù)組所有的鍵。返回的也是一個數(shù)組,這個數(shù)組是由原數(shù)組的鍵組成的。當然這個數(shù)組也有自己的鍵。
數(shù)組所有的鍵都是字符串格式的,只是看起來有點像數(shù)字格式,這個是和對象是一樣的。對象所有的鍵也都是字符串格式的。

在獲取數(shù)組的某一個值的時候,鍵名首先會轉(zhuǎn)化為整形,然后整形轉(zhuǎn)化字符串。如果是帶有小數(shù)點后面數(shù)字的小數(shù)就不行了。

6.數(shù)組的訪問形式

oDiv.style.display
oDiv['style']['display']
這個是對象的訪問形式,不是數(shù)組的。
數(shù)組只能使用【】的形式進行訪問。
arr[數(shù)字]
arr[變量]
數(shù)組也支持存放不是數(shù)字鍵的元素,但是這個元素是按照對象的格式存放的,不計算在數(shù)組的元素個數(shù)中??梢允褂脤ο蟮姆绞将@取,也可以使用數(shù)組的方式獲取。
arr['name'] = 'zhangsan';

7. delete 刪除一個對象的屬性。

也能夠刪除數(shù)組的元素,但是刪除之后元素的值刪除了,但是數(shù)組的長度不會發(fā)生變化。也就是length不會改變。

8. length

數(shù)組中最重要的一個屬性,表示數(shù)組中元素的個數(shù)。這個length是動態(tài)變化的。數(shù)組元素增加的時候,length會自動變大,元素減少的時候,length會自動的減少。如果手動設置length,那么數(shù)組也會發(fā)生變化。
數(shù)組的鍵是使用32為2進制來保存的,所有最大值是2^32-1;
也就是數(shù)組最多只能保存2^32-1個值。

數(shù)組的元素可以是不連續(xù)的,但是length總是比最大的鍵名大1.
沒有保存數(shù)據(jù)的位置是空位。

9.in運算符

判斷某一個{鍵}是不是在數(shù)組中,返回的是一個bool值。
也能判斷對象是否具有某個屬性。

10.for... in

遍歷數(shù)組。類似于while循環(huán)以及for循環(huán)。但是比這倆智能一點,會跳過空位。
for(var j in arr){
console.log(arr[j]);
}

for..in 遍歷會將數(shù)組中不標準的鍵名和值也會遍歷出來,而for循環(huán)以及while不會。

11.forEach 遍歷數(shù)組

arr.forEach(function(){

});

12.數(shù)組中的空位

數(shù)組中間的空位是計算在length里面的,但是里面沒有值,獲取的時候是undefined。
var arr = [1,2,,,,,4];
數(shù)組結尾的空位是不生效的,所以可以省略最后的一個逗號。

undefined 與空位的區(qū)別:
獲取內(nèi)容的時候都是undefined。
真實空位在for。。in循環(huán)遍歷的時候會自動跳過,而真實存儲undefined的位置不會跳過。

13. 類數(shù)組對象

類似于數(shù)組的對象 。 具有l(wèi)ength屬性,這個屬性表示的變量內(nèi)部的元素的個數(shù)。但是這個length不會動態(tài)變化。

arguments: 參數(shù)對象
字符串
絕多數(shù)的DOM集合。oDiv

14.數(shù)組函數(shù)

壓棧函數(shù)
push 推 向數(shù)組中添加一個元素,添加到數(shù)組的最后。
pop 彈出 從數(shù)組中彈出一個元素,從最后刪除一個元素。

unshift: 向數(shù)組中添加一個元素,添加到數(shù)組開頭
shift: 從數(shù)組中刪除一個元素,從數(shù)組的開頭刪除

splice: 從數(shù)組中刪除元素。
splice(start,num);從start位置開始,刪除num個元素。
splice(start,num,....);從start位置開始,刪除num個元素。然后將后面的所有的參數(shù)作為元素添加帶這個刪除元素的位置。如果num是0,那么在start的位置開始插入元素。

slice:數(shù)組截取,不會改變元素的數(shù)組,只是將截取出來的數(shù)據(jù)作為返回值單獨返回。
slice(start,end-1)返回的是start開始,到end-1的數(shù)組元素的集合,返回的也是一個數(shù)組。

join:將數(shù)組轉(zhuǎn)化為字符串,默認是使用逗號連接。
join(連接符):將數(shù)組元素使用連接符連接起來組成字符串。

concat:合并數(shù)組。
數(shù)組1.concat(數(shù)組2); 返回的是一個合并后的數(shù)組。并不會改變原來的數(shù)組。

reverse:數(shù)組翻轉(zhuǎn);會改變原來的數(shù)組。
arr.reverse();

15.冒泡排序

for(){
for(){

}

}

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,506評論 0 13
  • 自古以來,“隆中對”就被譽為中國戰(zhàn)史中的經(jīng)典戰(zhàn)略,諸葛亮因此也贏得“千古軍師”的美譽。雖然最終的結果是“出師未捷身...
    川容閱讀 678評論 0 2
  • 拍照 其實就是用手機記錄自己看到的 許多時候 看到的遠比拍到的更美
    吉祥在路上閱讀 580評論 0 1
  • 前一陣子,簡書有個極少人響應的征稿信息,好像叫做“我的辦公桌”,起初覺得自己的辦公桌沒什么特色,也就沒在意,昨天下...
    橫折閱讀 866評論 3 2
  • 這幾天,網(wǎng)絡一直在傳波一個消息:1月31日有月全食,而且天文專家說:這是一個月全食+藍月亮+超級月亮的組...
    EILYDSY閱讀 336評論 0 0

友情鏈接更多精彩內(nèi)容