數組操做很常考,也很經常使用,用好了代碼仍是很漂亮的。數組
在控制檯打印數組的屬性什麼的實在太多了,就撿點經常使用的背背吧。(參考W3C)函數
一、數組的建立spa
//字面量方法 var ary1=[];//建個空數組 var ary2=[1,2,3];//建個有值的數組 //構造函數的方法 var ary3=new Array()//建個空數組 var ary4=new Array(1,2,3)//建個有值的數組 var ary5=new Array(3) //建個預知長度的數組 元素都爲 undefined
二、Array 對象屬性prototype
//constructor 返回對建立此對象的數組函數的引用。
//length 設置或返回數組中元素的數目。(比較經常使用)
//prototype 使您有能力向對象添加屬性和方法。
三、數組的操做方法code
按返回值分紅兩類吧,我的比較容易記混的。一類是原數組被修改,一類是返回修改後的副本,保留原數組。對象
原數組被修改的:blog
//pop() 方法將刪除 arrayObject 的最後一個元素,把數組長度減 1,而且返回它刪除的元素的值。若是數組已經爲空,則 pop() 不改變數組,並返回 undefined 值。 //用法:arrayObject.pop() var arr = [1,2,3] console.log(arr)//[1,2,3] console.log(arr.pop())//3 console.log(arr)//[1,2] //push() 直接操做原數組,向數組的末尾添加一個或更多元素,並返回新的長度。 //reverse() 顛倒數組中元素的順序。返回翻轉後的數組 //shift() 刪除並返回數組的第一個元素 //sort() 對數組的元素進行排序 //用法: arrayObject.sort(sortby) 在原數組上進行排序,返回排序後的新數組 //splice() 刪除元素,並向數組添加新元素。 //用法: arrayObject.splice(index,howmany,item1,.....,itemX) 刪除從 index 處開始的零個或多個元素,而且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。 //若是從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。 //unshift() 向數組的開頭添加一個或更多元素,並返回新的長度。 //用法:arrayObject.unshift(newelement1,newelement2,....,newelementX) 將把它的參數插入 arrayObject 的頭部,並將已經存在的元素順次地移到較高的下標處,以便留出空間。該方法的第一個參數將成爲數組的新元素 0,若是還有第二個參數,它將成爲新的元素 1,以此類推。
不修改原數組的:排序
//concat() 鏈接兩個或更多的數組,返回被鏈接數組的一個副本。。 //用法:arrayObject.concat(arrayX,arrayX,......,arrayX)//參數必須,能夠是任意數量的具體值或者數組 var a = [1,2,3]; var b = [4,5]; var c = [6]; console.log(a.concat(7,8))// [1,2,3,7,8] console.log(a.concat(b))// [1,2,3,4,5] console.log(a.concat(b,c))// [1,2,3,4,5,6] //join() 把數組的全部元素放入一個字符串。返回被分隔符連接的一個字符串。 //用法:arrayObject.join(separator) //參數是個鏈接符,默認逗 //slice() 從某個已有的數組返回選定的元素 //用法 : arrayObject.slice(start,end) 返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。 //toSource() 返回該對象的源代碼。 //toString() 把數組轉換爲字符串,並返回結果。 //toLocaleString() 把數組轉換爲本地數組,並返回結果。 //valueOf() 返回數組對象的原始值