var arr = new Array();
var arr = new Array(2); //length爲2的數組
var arr = new Array("a","b","c"); //包含a,b,c的數組
//new 操做符可省略
複製代碼
var arr = [];
var arr = ['a','b','c'];
複製代碼
數組的length屬性不是隻讀的,咱們能夠經過設置這個屬性從數組的末尾移除項或添加項javascript
var arr = [1,2,3];
arr.length = 2;
console.log(arr[2])//undefined
arr[arr.length] = 4;
console.log(arr[arr.length-1])//4
複製代碼
var arr = [];
arr instanceof Array //true 若是一個網頁存在兩個不一樣的全局執行環境,從而就會存在兩個不一樣版本的Array構造函數,這個要返回true,arr必須是一個數組,並且要和Array構造函數在同個做用域
複製代碼
Array.isArray(arr) //true ie9+
function isArray(value){
return Object.prototype.toString.call(value) == "[object Array]"
}
複製代碼
var arr = ['a','b','c'];
console.log(arr.toString()) //a,b,c
console.log(arr.valueOf()) //['a','b','c']
console.log(arr.toLocaleString()) //a,b,c
console.log(arr.join("||")) //a||b||c
複製代碼
push() //向數組的末尾添加任意數量的參數,返回新的length
pop() //移除數組的最後一項,返回被移除的項
shift() //移除數組中第一項,返回被移除的項
unshift() // 向數組的前端添加任意數量的參數,返回新的length
reverse() //反轉數組
sort() //sort方法會調用每一項的toString()轉型方法,而後比較獲得的字符串
//sort方法能夠接受一個比較函數
function compare(value1,value2){
if(value1 < value2){
return -1 //value1在value2以前返回-1
}else if(value1 > value2){
return 1
}else{
return 0 //相等
}
}
concat() //建立當前數組的一個副本,將接收到的參數添加到這個副本的末尾,返回新構建的數組
slice() //截取數組,接收一或兩個參數,可接受負值
splice() //可接受多個參數,第一個是起始位置,第二個是要刪除的項數,後面是要插入的項,返回從原始數組中刪除的項組成的數組
indexOf() //可接受兩個參數,要查找的項和查找起點(可選),找到返回位置,找不到返回-1
lastIndexOf() //從數組的末尾開始查找 ie9+
複製代碼
every() //每一項都爲true,則返回true
filter() //返回結果爲true組成的數組
forEach() //沒有返回值
map() //返回調用結果組成的數組
some() //任一項返回true,則返回true
//上述方法接收一個callback和一個運行改函數的做用域對象(可選,影響this的值)
function callback(item,index,array){
//item是數組的每一項
//index是每一項的索引
//array是數組對象自己
}
複製代碼
reduce() // 從第一項開始
reduceRight() //從數組的最後一項開始向前遍歷
//這兩個方法都會迭代數組的每一項,構建一個最終返回的值
//能夠接受一個callback和一個做爲歸併基礎的初始值(可選)
function callback(prev,cur,index,array){
//prev前一個值
//cur當前值
//index項的索引
//array數組對象
}
//這個callback返回的任何值都會做爲第一個參數自動傳遞給下一項
複製代碼