JS05

數(shù)組

一、相關(guān)概念

1、數(shù)組是值的有序集合。

2、每個值叫做一個元素

3、每個元素在數(shù)組中有一個位置,以數(shù)字表示。稱為索引(下標)。

二、特點

1、數(shù)組的元素可以是任何類型

2、數(shù)組索引從0開始,最大為2^32-2? 4294967294個元素

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

1、使用數(shù)組直接量[]

? ? ? ? var arr = [1,2,3,];

2、使用構(gòu)造函數(shù)

? ? ? ? var arr = new Array(10);10個元素

? ? ? ? var arr = new Array('a','b','c');

四、數(shù)組的長度

? ? ? ? arr.length;

? ? ? ? length屬性只計算非負整數(shù)的索引

五、數(shù)組元素的訪問和修改

? ? ? ? 使用[]

? ? ? ? 數(shù)字類型的字符串 也可以訪問數(shù)組元素

小實例:嘗試將數(shù)組中的內(nèi)容放入新的數(shù)組中

六、稀疏數(shù)組(稀疏數(shù)組就是不連續(xù)索引的數(shù)組

1、var arr = new Array(3); -- 是稀疏數(shù)組

2、var arr = [,,]; -- 是稀疏數(shù)組

3、var arr = [1,2];arr[10]=100; -- 是稀疏數(shù)組

4、使用delete刪除一個元素 得到稀疏數(shù)組

小實例:嘗試將稀疏數(shù)組變成不稀疏

七、數(shù)組元素的添加

1、為新索引賦值 arr[4]=2;

2、利用數(shù)組長度在數(shù)組尾部插入新元素 arr[arr.length]=5;

3、push() 在尾部加入新元素 arr.push(‘a(chǎn)bc’);

4、unshift()在前面加入一個新元素 arr.unshift(‘a(chǎn)bc’);

八、數(shù)組的刪除

1、刪除數(shù)組后面的一個元素 delete()不推薦--產(chǎn)生稀疏數(shù)組

2、pop() 刪除數(shù)組最后一個元素 arr.pop();

3、shift() 刪除數(shù)組第一個元素 arr.shift();

練習(xí)題:自定義一個函數(shù)驗證元素是否在數(shù)組中

九、判斷是否數(shù)組

typeof []; 無法進行判斷

ESMA5定義新的方法用來判斷是否數(shù)組: Array.isArray([]);

十、搜索數(shù)組是否具有的元素

arr.indexOf();

? ? ? ? 如果存在返回元素位置

? ? ? ? 如果不存在返回-1

十一、數(shù)組的遍歷

1、使用for循環(huán)遍歷 for(var i = 0; i < arr.length;i++){ console.log(arr[i]); }

2、使用for/in循環(huán) for(var i in arr){ console.log(arr[i]); }

3、注意:遍歷稀疏數(shù)組 和 特殊下標數(shù)組時的區(qū)別

4、使用forEach(); 傳入匿名函數(shù),低版本IE不支持

十二、數(shù)組的方法

1、join()把數(shù)組的元素拼接成字符串 var message = arr.join(‘,’);

2、concat() 合并多個數(shù)組

? ? ? ? var message = arr.concat([12,43],[4,35,3]);

? ? ? ? var message = arr.concat(1,2,3);

? ? ? ? var message = arr.concat(1,2,[4,,5,[6,,7]]);

3、slice() 截取數(shù)組中的一部分(不破壞原數(shù)組),返回新的數(shù)組

? ? ? ? var arr = list.slice(2);? 取出從下標2到后面的所有元素

? ? ? ? var arr = list.slice(2,4); 取出從下標2到下標4(不含4)的元素>

4、splice() 刪除、替換、添加、 破壞原數(shù)組 返回刪除的內(nèi)容

? ? ? ? var new_arr = list.splice(2);? 下標2以后的元素

? ? ? ? var new_arr = list.splice(2,2); 下標2以后的兩個元素

? ? ? ? ? ? ? ? 在指定位置添加新的元素

? ? ? ? ? ? ? ? ? ? ? ? var arr = [3,454,435,343];

? ? ? ? ? ? ? ? ? ? ? ? arr.splice(2,0,’abc’);(在435的位置前添加一個abc)

? ? ? ? ? ? ? ? 替換指定位置的元素

? ? ? ? ? ? ? ? ? ? ? ? var arr=[1,2,3,4];arr.splice(2,1,’abc’);(將3替換成abc)

實例:使用 splice()方法處理稀疏數(shù)組

5、reverse() 數(shù)組反轉(zhuǎn) 改變原數(shù)組

6、sort(); 數(shù)組排序,必須使用排序函數(shù) list=[1,334,32,324]; list.sort(function(a,b){return a-b;});

7、toString() 把數(shù)組轉(zhuǎn)換為字符串

8、toLocaleString()把數(shù)組轉(zhuǎn)換為本地字符串(不常用)

練習(xí):

自定義求數(shù)組最大值的函數(shù)

自定義求數(shù)組最小值的函數(shù)

冒泡排序

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

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

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