JavaScript 權威指南第7章數組學習筆記

學習完一遍之後,看着目錄,採用回顧法學習相關內容,溫故而知新,後面遇到數組的內容慢慢添加進來。

7.1創建數組

數組在JavaScript也是對象,所以對象一般兩種方法創建:
- var a = new Array(10); //創建一個長度爲10的數組
- var a = [1,2,3,4,5,6]; //直接創建一個數組

7.2 數組的讀寫

通過[]來讀取數組數據,實際是將其中的整數,轉換爲字符串作爲屬性讀入,返回值。
試過a[‘1’]和a[1]的效果是一模一樣的。

	 var a = [1,2,3,4]
	 a[1]===a['1']
	 true

7.3稀疏數組

中間有undefined、null值的數組,儘量避免這樣的數組吧

7.4 數組長度

數組長度直接使用object.length即可,如前面所述類似

7.5 數組元素的添加和刪除

添加的方法可以用push,在數組的尾部添加一個元素。
delete a[0] 即可刪掉第一個元素,但是使用delete有個坑,就是它只刪去元素,但是會留下一個undefined在那兒,所以一般推薦使用splice。

7.6 數組的遍歷

直接使用for循環即可遍歷,另外避免使用for in 函數來遍歷,因爲還需要過濾到繼承的屬性。

7.7 多維數組

JavaScript實際上沒有多維數組的概念,但是可以自己添加數組的數組。

7.8 數組的方法

數組的方法:

  • Array.join()String.split() 是一對逆向操作。
  • Array.reverse()顛倒順序。
  • Array.sort()排序,不會按你想的那樣排序;所以需要
	a.sort(function(a,b){return b-a});
  • Array.concat() 鏈接一個數組,然後返回一個新的數組
  • splice(), 最終的方法之一,需要後面詳細寫:
  • push() 和 pop():添加到最後一個,彈出最後一個;
  • unshifit() 和 shift(): 添加最前面一個,彈出最前面一個;

7.9 EMScript5中的方法

  • forEach()
  • map()
  • filter()
  • every() 和 some()
  • reduce() 和reduceRight()
    //抽時間完成上面方法的例子。

7.10數組類型

新的方法終於解決了typeof不能好好判斷是不是數組的問題
Array.isArray([]),實際上就是使用了

var isArray = Function.isArray || function(o){
	return typeof o ==='object' &&
	Object.prototype.toString.call(o) === '[object Array]';
}

7.11 類數組對象

7.12 作爲數組的字符串

使用[]代替了charAt()的方法,更加方便,另外可以string可以使用array通用的方法,例如join/filter/match等。

ES6添加的一些方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章