Object.prototype上有toString/valueOf/hasOwnProperty等方法。
本文則介紹一些常用的數組方法:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iM4IDO1EDM4IDNmVGMhFWYyYzX3ADOxETM2EzLcZDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
上圖的要點為:
1.join若無指定入參則預設用逗号拼接字元串。
2.使用join可以封裝成重複字元串的函數。
上圖的要點為:
使用reverse會修改原來的數組。
上圖的要點為:
1.使用sort按字元串的大小進行排序。
2.在sort中重寫函數可以按照實際需求進行排序。
3.forEach可以循環數組,第一個參數為item。
4.sort會修改原數組。
上圖的要點為:
1.concat不修改原數組。
2.concat會自動展開一層數組。
上圖的要點為:
1.slice為切片之意,切時左閉右開(媒體查詢也是左閉右開)。
2.兩個入參都是下标。
上圖的要點為:
1.reverse/sort/splice這三個函數會修改原數組。
2.splice為膠接之意,可增可删,第二個參數為長度。
3.splice删除片段,剩下的arr為剩餘部分。
上圖的要點為:
forEach的第一個參數是item,第二個參數是index,第三個參數是arr。
上圖的要點為:
map為映射之意,可整體修改數組的值。
上圖的要點為:
filter可過濾出符合條件的數組元素。
上圖的要點為:
1.every判斷數組的每一個元素是否都符合該條件,some判斷數組中是否存在某個元素符合該條件。
2.every和some傳回布爾值。
上圖的要點為:
1.reduce和reduceRight為聚集函數,第二個參數表示起始值。
2.可用reduce實作sum、max等聚集操作。
3.reduceRight是從數組尾部開始操作的。
上圖的要點為:
1.indexOf和lastIndex都是檢索某個元素在在數組中的index。
2.找不到則傳回-1。
3.indexOf從左往右找,lastIndexOf從右往左找。
上圖的要點為:
1.此方法為Array構造器上的方法,調用方式為Array.isArray(arr)。
2.還可用obj instanceof Array、Object.prototype.toString.apply、[].constructor等方法來判斷是否為數組。
上圖的要點為:
1.字元串是類數組,可用charAt來找到字元,或使用str[x]。