一、數組
什么是數組
程序=數據+算法
數組就是一種很常見的保存批量數據的數據結構
一、定義數組
var arr1=[]; //定義了一個不包含元素的數組 var arr2=[11,12,13]; //定義了一個包含三個元素的數組 var arr3=new Array(2); //定義了一個包含兩個元素哦數組,下標為0,1 var arr4=new Array("aa",1,"false"); //定義了包含三個元素的數組 上面的new就是開辟新的空間
var scores = [95、88、100] 設置數組的值——set scores[2]=98 改變數組內元素 scores[3]=75 添加數組內元素 獲取數組的值——get var scores = [95、88、100] console.log(scors[1]) //88 使用lenth屬性獲取數組中元素的個數 在數組尾部追加新元素 scores[scores.length]=100 添加元素
二、方法
數組分為兩種
索引數組 :以數字作為下標
關聯數組 :以一個字符串作為下標
1、關聯數組的lenth屬性值永遠為0
2、關聯數組的遍歷只能使用for..in循環
數組常用方法:
1 obj.splice(start, Count, e1,e2,e3 ...) 插入、刪除或替換數組的元素 返回刪除的項目 2 obj.splice(start,0,val) 指定位置插入元素 3 obj.splice(start,1,val) 指定位置替換元素 4 obj.splice(n,1) 指定位置刪除元素
上面參數、start 指定添加/刪除的起始位置,可取負值
count 要刪除元素的個數,0表示不刪除
e1,e2,e3..在start處添加的項
5 6 arr.reverse() 顛倒排序方式 7 8 arr.sort([sortby]) 數據排序 9 10 arr.push(e1,e2…en) 入棧 11 12 arr.pop() 出棧 13 14 arr.unshift(e1,e2…en) 在頭部添加新元素 15 16 arr.shift() 從頭部刪除新元素 17 18 arr.valueOf() 返回每個字符串表示 19 20 arr.toString() 把數組轉化成字符串 21 22 arr.toLocaleString() 轉化成本地型字符串 23 24 arr.join(‘@’) 返回一個字符串,是由每個元素轉換而成的字符串使用指定的@拼接而成,里面參數可以任意 25 26 arr.concat(other1,other2) 拼接兩個或者更多的元祖,並且返回結果 27 28 arr.slice() 切片 29 30 arr.lenth 數組的長度(只能應用於索引數組)

var arr1=[10,20,30,40,50]; var arr2=arr1.splice(2,2,21,22,23); console.log(arr2); //[30,40] console.log(arr1); //[10,20,21,22,23,50] 這里的start不是指代的下標,而是個數
二、二維數組
二維數組:從整體上看是一個數組,但是其中一個元素又是一個數組,即數組中的數組。二維數組就是一個table表格
1、訪問二維數組中的某個元素 var arr1=[[11,12,13],[21,22,23],[31,32,33]]; consolo.load(arr1[0][0]); //值為11 arr1[1][2]=230; //把23改成230 3、遍歷二維數組中的每個元素--循環的嵌套 for(var i=0;i<arr1.length;i++){ for(var j=0;j<arr[i].length;j++){ document.write(arr[i][j] + " "); } document.write("<br/>") }
使用二維數組
var arr1=[[11,12],[113.14]]; //定義一個規則的二維數組 var arr2=new Array(); //頂一個一個不規則的二維數組 arr2[0]=[11]; arr2[1]=[22,23]; console.log(arr2); var arr3=new Array(); //定義一個形如表格的二維數組 arr3[0]=new Array(1,"pyrene",'2010'); arr3[1]=new Array(2,"py","2010"); arr3[2]=new Array(3,"pyrenee","2010"); document.write(arr3);