1. 程式人生 > 實用技巧 >javascript 陣列常用函式

javascript 陣列常用函式

因為typeof Array == object,

故判斷陣列是否是陣列需要兩個方法

1Array.isArray()

2function isArray(x) {

 return x.constructor.toString().indexOf("Array") > -1;
} 

3

fruits instanceof Array 

4 pop()

5 push()

6 shift()

7 unshift()

8splice(定義新元素應該被新增(接入)的位置,刪除的元素個數,增加的元素)

9 concat concat 不會改變原有陣列而是建立一個新的陣列

10 slice(start,end)當給 slice() 方法賦予兩個引數時,它從start

引數中選擇陣列元素,直到(但不包括)end引數

11 sort() sort 排序預設是按照字串大小進行排序,因此我們需要設定比值函式來重新定義排序規則 sort(function(a,b){a-b}) 升序

Javascript 不存在陣列內部求最大最小值的內建函式,所以可以通過排序後取最小/大索引的方法取得極值,還可以通過Math.max.apply(Array)

Array.forEach()

forEach()方法為每個陣列元素呼叫一次函式(回撥函式)。

Array.map()

map()方法通過對每個陣列元素執行函式來建立新陣列。

map()方法不會對沒有值的陣列元素執行函式。

Array.filter()

filter()方法建立一個包含通過測試的陣列元素的新陣列。

map()方法不會更改原始陣列。

這個例子將每個陣列值乘以2:

Array.reduce()

reduce()方法在每個陣列元素上執行函式,以生成(減少它)單個值。

reduce()方法在陣列中從左到右工作。另請參見 reduceRight()。

reduce()方法不會減少原始陣列。

Array.reduceRight()

reduceRight()方法在每個陣列元素上執行函式,以生成(減少它)單個值。

reduceRight()方法在陣列中從左到右工作。另請參見 reduce()。

reduceRight()方法不會減少原始陣列。

Array.every()

every()方法檢查所有陣列值是否通過測試。

這個例子檢查所有陣列值是否大於 18

Array.some()

some()方法檢查某些陣列值是否通過了測試。

這個例子檢查某些陣列值是否大於 18:

Array.indexOf()

indexOf()方法在陣列中搜索元素值並返回其位置。

註釋:第一個專案的位置是 0,第二個專案的位置是 1,以此類推。

Array.lastIndexOf()

Array.lastIndexOf()與Array.indexOf()類似,但是從陣列結尾開始搜尋。

Array.find()

find()方法返回通過測試函式的第一個陣列元素的值。

這個例子查詢(返回)大於 18 的第一個元素的值:

Array.findIndex()

findIndex()方法返回通過測試函式的第一個陣列元素的索引。