一個變量只能存儲一個數據,若是咱們有一組數據,好比1到100一百個數字,定義100個變量來存儲就太痛苦了,這時候咱們就須要數組來存儲這樣的數據。數組相似於數學概念中的中的集合。javascript
1)構造方法:使用new 在內存中開闢空間, 返回的是new出來空間的地址java
var arr = new Array();//無參構造函數,建立一空數組 var arr = new Array(5);//建立指定長度的數組(因爲數組長度能夠動態調整,做用並不大) var arr = new Array(1,2,'hello');//建立數組並初始化參數數據
2) 字面量:使用方括號,與上面的new 是同樣的,也會在內存中開闢空間數組
var arr = [ ];//等同於調用無參構造函數 var arr = [10];//等同於調用帶有初始化數據的構造函數
語法: 數組名[下標];dom
數組的修改函數
數組名[下標]= 賦值;
var arr = [5,7,9]; arr['haha'] = 99;//若是對沒有的下標元素進行賦值,則等價於添加新元素 console.log(arr);//5,7,9,99
一般操做數組時,每一個元素都要操做一遍,這個時候咱們會用循環來訪問每個元素,循環訪問數組的每個元素的過程就叫作數組的遍歷。學習
//1. 常規的for循環 for(var i=0;i<arr.length; i++){ console.log(arr[i]); }
//2. for...in...遍歷數據的下標 for(var index in arr){ // console.log(arr[index]); console.log(index); }
// 3. for...of...遍歷內容 for(var item of arr){ console.log(item); }
<script> var arr=[5,6,3,7,8,4]; for(var i=0; i<parseInt(arr.length/2);i++){ // 交換元素 var temp; temp = arr[i]; arr[i] = arr[arr.length-i-1]; arr[arr.length-i-1] = temp; } for(var i=0; i<arr.length;i++){ console.log(arr[i]); } </script>
var arr = [1,2,3]; var len = arr.push(4,5); console.log(len);//5 console.log(arr);//1,2,3,4,5
var arr=[8,5,9]; var x = arr.pop(); console.log(x);//9 console.log(arr);//8,5
var arr = [6,5,7]; var a = arr.unshift(10,90); console.log(a);//5 console.log(arr);//10,90,6,5,7
var arr=[1,2,3]; var x = arr.shift(); console.log(x);//1 console.log(arr);//2,3
splice(參數1, 參數2, 參數3) 返回一個由刪除元素組成的新數組code
將數組轉爲字符串 :返回值爲轉換後的字符串排序
var arr=[4,7,3]; console.log(arr.join('~'));//4~7~3
var arr=[4,6,7,4,6,5]; var arr1 = arr.slice(3,5); console.log(arr1);//4, 6
concat(增長的數組): 返回一個新數組索引
var arr1 = [6,7,5,8]; var arr2 = [0,3,7]; console.log(arr1.concat(arr2));//6,7,5,8,0,3,7
var arr=[5,7,8,9,3]; arr.reverse(); console.log(arr);//3,9,8,7,5
var arr=[9,7,8,5]; arr.sort(); console.log(arr);//5,7,8,9
var arr=[19,7,8,5]; arr.sort(); console.log(arr);//19, 5,7,8
var arr = [[],[],[],[]];
冒泡排序ip
//使用冒泡法由小到大排列 <script type="text/javascript"> var arr= [5,7,8,4,6,5,2,7]; var temp; // 外層循環n-1次 for(var i=0; i<arr.length; i++){ // 內層循環n-i-1 for(var j=0; j<arr.length-i-1;j++){ //由小到大排列 if(arr[j]>arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } console.log(arr);//[2, 4, 5, 5, 6, 7, 7, 8] </script>