1. 程式人生 > >HTML-JS 數組 內置對象

HTML-JS 數組 內置對象

== 一份 稀疏數組 map() 屬於 nsh reac 稀疏 有序

【JS中的數組】

1、數組的基本概念?
數組是在內存空間中連續存儲的一組有序數據的集合
元素在數組中的順序,稱為下標。可以使用下標訪問數組的每個元素
2、如何聲明一個數組
① 使用字面量聲明:var arr=[];
在JS中,同一數組可以存儲各種數據類型。
例如:var arr=[1,"2",true,4,{}];
② 使用new關鍵字明,var arr= new Array(參數);
>>>參數可以是:
a.省略,表示創建一個空數組
b.參數為一個整數,表示聲明一個length為指定長度的數組。


但是這個length可以隨時可變,可追加。
c.參數為,分隔的多個數值表示數組的多個值。
new array(1,2,3)==[1,2,3]
3、數組中元素的讀寫/增刪
① 讀寫:通過下標訪問元素。下標從0開始。arr[1]="haha";
② 增刪:
a.使用delete,關鍵字刪除數組的某一個值,刪除之後,數組的長度不變,對應的位置變為Undefined
eg:delete arr[1];
b.arr.pop()
刪除數組的最後一個值。相當於arr.length -= 1;

c.arr.shift();刪除數組的第一個值;
d.arr.unshift(值):在數組的第0個位置新增一個值;
e.arr.push():在數組的最後一個位置新增一個值
f.直接訪問數組沒達到的下標,可以動態追加。
arr[100]=1;中間如果有空余下標,將存入Undefined.
4、數組中的其他方法
join("分隔符號"):將數組用指定分隔符鏈接為字符串。當參數為空時,默認用逗號分隔;
concat():
【原數組不會被改變】,將數組將兩個或多個數組的值鏈接為新數組;

concat鏈接時,如果有二維數組則之多能拆一層中括號
[1,2].concat([3,4],[5,6])->[1,2,3,4,5,6]
[1,2].concat([3,4,[5,6]])->[1,2,3,4,[5,6]]
③ push:數組最後增加一個,unshift:數組開頭增加一個 --返回新數組的長度
pop():數組最後刪除一個, shift():數組開頭刪除一個 --返回被刪除的值
【上述方法均會改變原數組】
reverse():【原數組被改變】將數組翻轉,倒序輸出
slice(begin,end):【原數組不會被改變】,截取數組中的某一部分,並 返回截取的新數組
>>>傳入一個參數,表示開始區間,默認將截到數組最後;
>>>傳入兩個參數,表示開始和結束的下標,左閉右開區間(包含begin,不含end)
>>>兩個參數可以為負數,表示從右邊開始數,最後一個值為-1
sort():【原數組被改變】,將數組進行升序排列
>>>默認情況下,會按照每個元素首字母的Ascii碼值進行排列;
[3,1,5,12].sort()->[1,12,3,5]
>>>可以傳入一個比較函數,手動指定排序的函數算法;
函數將默認接收兩個值a,b 如果函數返回值>0,則證明a>b;
arr.sort(fucntion(a,b){
return a-b;//升序排列
return b-a;//降序排列
})
indexOf(value,index):返回數組中第一個value值所在的下標,如果沒有找到,返回-1
lastIndexOf(value,index):返回數組中最後一個value所在的下標,如果沒有找到,返回-1
>>>如果沒有指定index,則表示全數組查找value
>>>如果指定了index,則表示從index開始,往後查找value
arr.forEach():專門用於循環遍歷數組,接收一個回調函數,回調函數接收兩個參數,第一個參數
為數組的每一項的值,第二個參數為下標(IE8之前不支持此函數)
arr.forEach(function(item,index){
console.log(item);
})
map():數組映射。使用方式與forEach相同,不同的是map可以有return返回值,表示將原數組的
每個值進行操作後返回給一個新數組(IE8之前不支持此函數)
arr.map(function(item,index){
console.log(item);
return item-1;
})
5、二維數組與稀疏數組(了解)
① 二維數組: 數組中的值,依然是一個數組形式。
eg:arr=[[1,2,3][4,5,6]];//相當於兩行三列
讀取二維數組:arr[行號][列號]
② 稀疏數組:數組中的索引是不連續的。(length要比數組中實際的元素個數大)
6、基本數據類型和引用數據類型
① 基本數據類型:賦值時,是將原變量中的值,賦值給另一個變量。賦值完成後,兩個變量相互獨立,
修改其中一個的值,另一個不會變化。
② 引用數據類型:賦值時,時將原變量在內存中的地址,賦值給另一個變量。賦值完成後,兩個變量中存儲的
是同一個內存地址,訪問的是同一份數據,其中一個改變另一個也會發生變化。
③ 數值型,字符串,布爾型等變量屬於基本數據類型,
而數組,對象屬於引用數據類型;

HTML-JS 數組 內置對象