學習筆記--JavaScript--Day03
阿新 • • 發佈:2021-01-13
技術標籤:JS筆記jsjavascript
JS基礎知識–陣列
1.陣列
1.Array 陣列是一個有序的元素序列,陣列中的元素會自動分配下標, 從0開始,方便讀寫 2.建立陣列 1.建立空陣列 var 陣列名 = []; 2.建立陣列的同時初始化元素 var 陣列名 = [元素1, 元素2, 元素3, ...]; 3.建立空陣列 var 陣列名 = new Array(); 4.建立陣列並初始化 var 陣列名 = new Array(元素1, 元素2, 元素3, ...); 注意: var 陣列名 = new Array(Num); 只包含一個數值引數時,表示初始化陣列的長度 3.陣列的使用 1.獲取陣列的長度 屬性:length 使用:陣列名.length; 2.訪問陣列元素 陣列中的每一個元素都有對應的下標 元素的下標範圍: 0 ~ 陣列名.length - 1 語法: 陣列名[下標]; 3.設定陣列元素 陣列名[下標] = value; 4.清空陣列中的元素 arr.length = 0; 5.迴圈遍歷陣列 正序: for(var i = 0; i < arr.length-1; i++){ arr[i]; } 倒序: for(var i = arr.length-1; i >= 0; i--){ arr[i]; })
2.陣列中的API
1. toString() 將陣列中的元素轉換為字串返回,返回值為字串 et: var arr = [10,20,30]; console.log(arr.toString()); #返回值為 "10,20,30" 2. join() 將陣列中的元素連線成一個字串並返回,返回值字串 引數:可選,如果省略引數,預設元素之間以,作為分隔符 可以給引數,指定元素之間的連線符 et: var arr = [10,20,30]; console.log(arr.join()); #返回值為 "10,20,30" console.log(arr.join("-")); #返回值為 "10-20-30" 3. reverse() 反轉陣列元素 返回值:陣列,會改變陣列的原有結構 4. sort() 對陣列中元素進行排序,返回值為陣列,會改變陣列原有結構 引數:可選,自定義排序函式,預設按照元素的Unicode碼升序排序 1.升序的排列函式 function sortAsc(a,b){ return a-b; } arr.sort(sortAsc); 解釋: 1.sortAsc函式接收兩個引數,會自動將陣列中相鄰的 兩個元素傳遞給引數 2.如果返回值>0,交換兩個元素的位置,否則不變。 2.降序 function sortDec(a,b){ return b-a; } arr.sort(sortDec); 注意: 非數字字串是沒有辦法做減法操作的,可以通過大小的比較 3.匿名函式作為排序函式,直接寫在sort()中 arr.sort(function (a,b){ return a-b;})
3.陣列的進出棧操作
棧結構:遵循先進後出原則
棧操作可以快速運算元組中的頭尾元素
1. push(data)
入棧操作,向陣列中的尾部新增元素,可以是一個或多個,
多個數據之間使用,隔開
返回值:返回新陣列的長度
2. pop()
出棧操作,刪除陣列尾部元素
返回值:返回被刪除的元素
3. unshift(data)
向陣列中的頭部新增一個或多個元素,返回陣列的長度。
4. shift()
刪除陣列中頭部元素,返回被刪除的元素
4.二維陣列
陣列中每個元素又是一個數組。用法同一維陣列。
5.練習:
隨意錄入一個數字,將數字轉換為二進位制輸出 思路:除二取餘,倒序輸出 function decode2Bin(){ var num = Number(prompt("請輸入一個數字")); var arr = []; while(num != 0){ arr[arr.length] = num % 2; num = parseInt(num / 2); } //顯示二進位制數 arr.reverse(); console.log(arr); }