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
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()方法返回通過測試函式的第一個陣列元素的索引。