一、數組: 一組數據的集合; 二、JS中數組的特點: 1、數組定義時無需指定數據類型; 2、數組定義時可以無需指定數組長度; 3、數組可以存儲任何類型的數據; 4、一般是相同的數據類型; 三、數組的創建方式: 四、數組的操作: 數組名.方法 1、push() 向數組末尾添加新的數組項,返回值新數組的 ...
一、數組:
一組數據的集合;
二、JS中數組的特點:
1、數組定義時無需指定數據類型;
2、數組定義時可以無需指定數組長度;
3、數組可以存儲任何類型的數據;
4、一般是相同的數據類型;
三、數組的創建方式:
var arr=[值1,值2,值3]; //字面量定義 var arr = new Array (值1,值2,值3); //構造函數創建 var array =new Array(size); //創建數組並指定長度
四、數組的操作:
數組名.方法
1、push() 向數組末尾添加新的數組項,返回值新數組的長度,原數組改變;
2、pop() 刪除數組最後一項,沒有參數,返回值刪除項,原數組改變;
3、unshift() 向數組開頭位置添加,返回值是新數組的長度,原數組改變;
4、shift() 刪除數組第一項,沒有參數,返回值刪除項,原數組改變;
5、splice(n,m) 從索引n開始,刪除m個,返回值以數組的形式返回刪除項(沒有m的話,刪除到最後);
splice(0) 原數組清空,返回一個和原來一樣的新數組;
splice(n,m,z) 從索引n開始,刪除m個,把z添加到刪除的位置;
6、slice(n,m) 從索引n開始,查找到索引m處,不包含m,將查找到的以新數組返回,原數組不變;
7、concat 數組的拼接,不改變數組,返回最終連接好的新數組;
8、數組換為字元串:不改變原數組;
五、數組的遍歷:
1、for :不能遍歷對象;
2、for.....in:
沒有迴圈條件;
自動取出下標;
下標預設從0開始,最大下標為數組長度-1;
下標的類型為string
六、分類:
整數數組、字元串數組、對象數組、二維數組
七、數組排序:
1、冒泡排序(相鄰的兩個數比較,大數下沉,小數上浮):
function mySort(arr){ for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-1;j++){ if(arr[i]>arr[j+1]){ var t=arr[i]; arr[j]=arr[j+1]; arr[j+1] = t; } } } return arr; }
2、選擇排序:
每一輪用數組中的第n個數和後面的數依次比較,如果arr[n]大於後面的數,就交換 n從下標為0開始 一直到arr.length-1;
3、sort 方法排序:
按照字元編碼的順序進行排序:
八、數組新增的方法:
1、indexOf():判斷一個數在某個數組中是否存在,如果存在返回這個數在數組的位置,不存在返回-1;
2、forEach() 遍曆數組 沒有返回值;
3、map() 映射 遍曆數組 --操作數組--返回數組
4、filter 過濾 按照某個條件過濾,返回過濾後的數組;
5、reduce()歸併 返回值是最後一次操作的結果;
6、some()返回一個boolean,判斷是否有元素符合func條件,如果有一個元素符合,則迴圈終止;
7、every() 返回一個boolean,判斷每個元素是否符合func條件,有一個元素不滿足,則迴圈終止,返回false。