var arr1 = []; //陣列字面量
var arr2 = new Array(); //不推薦
//通過系統內建的Array建構函式宣告陣列
var arr3 = Array(); //不使用
//所有陣列都繼承於Array.prototype
在JavaScript中陣列是另一種物件機制
var arr = [,1,3,,,4,7,] //稀鬆陣列,其length為7
var arr1 = new Array(5) //[,,,,,,] new Array(1,2,,,3)會報錯 new Array(5.2)報錯 new Array('a')可以,陣列長度為1
push方法和unshift方法
繼承自Array的原型裡的方法
-->返回值,都是執行了方法以後陣列的長度
unshift在陣列第一位前面加元素
Array.prototype.myPush = function(){
for(var i=0;i<arguments.length;i++){
this[this.length] = arguments[i];
}
return this.length
}
pop方法 和 shift方法
pop刪除陣列最後一位,返回被刪除元素,不接收引數
shift刪除陣列第一位,並返回被刪除元素,同不接收引數
reverse方法
倒序
splice方法
引數(開始項的下標,剪下長度,剪下以後最後一位開始新增資料)
var arr = ['a', 'b', 'c', 'd'];
arr.splice(1, 2, 1,2,3,4,5) //arr變為['a', 1, 2, 3, 4, 5, 'd']
var arr = ['a', 'b', 'c', 'e'];
arr.splice(3, 0, 'd') //arr變為['a', 'b', 'c', 'd', 'e'];
arr.splice(-1,0,'d')同樣可以實現,陣列從後往前數下標從-1開始
陣列排序 sort()
sort()返回結果是排序以後的陣列
sort->sort本身按照ascii碼來排序
傳引數以後可以實現實際排序
1,引數a,b
2,返回值:1)負值,a就排前面
2)正值,b就排前面
3)0 保持不動
sort(function(a, b){
if(a > b){return 1} ====》改造升序 直接return a-b; 降序:return b-a;
else return -1
})
//隨機排序
var arr = [1,2,3,4,5,6];
//Math.random() ->0-1開區間
arr.sort(function(a, b){
var rand = Math.random();
if(rand - 0.5 > 0) return 1; // ====>return Math.random()-0.5
else return -1
})
總結:修改原陣列:push/unshift/pop/shift/splice/sort/reverse