1. 程式人生 > 其它 >學習筆記--JavaScript--Day03

學習筆記--JavaScript--Day03

技術標籤: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);
}