
陣列函數
Array. filter(callback(element[, index[, array]])[, thisArg])
函數說明:輸出callback 回傳為true的陣列集合
傳入參數說明:
callback:列舉每個陣列內容時執行的一段程式,回傳為true時該列舉的值將會加入新的回傳陣列中。
element:目前列舉出來陣列內的資料內容
index:目前列舉的陣列內容位於陣列的位置
array:該列舉的陣列
thisArg:callback的this
範例:
var NAS = [5,4,3,2,1];
var Android = NAS.filter(function(x){return x<3});
var iOS = NAS.filter(function(x,i){return i%2==0});
說明:第一行宣告一個NAS陣列,並賦予陣列內容[5,4,3,2,1],第二行將NAS陣列filter出的新陣列值傳給Android參數,第二行NAS陣列filter內的callback函數是將NAS陣列中所有小於3的值放入新陣列並回傳作為filter函數的回傳結果,新陣列的值為NAS陣列內小於3的值,所以新陣列的值依序為位置3的2和位置4的1,所以Android參數會變成[2,1]的陣列,第三行將NAS陣列filter出的新陣列值傳給iOS參數,第二行NAS陣列filter內的callback函數是將NAS陣列中所有陣列的index位置數值除以2餘數為0的值放入新陣列並回傳作為filter函數的回傳結果,新陣列的值為NAS陣列的第0、2、4位置會滿足除以2餘數為0所以新陣列的值依序為位置0的5、位置2的3、位置4的1,iOS參數會變成[5,3,1]的陣列。
Array.every(callback(element[, index[, array]])[, thisArg])
函數說明:當所有callback的回傳值為true時回傳true,否則一律回傳false
傳入參數說明:
callback:列舉每個陣列內容時執行的一段程式,回傳為true時該列舉的值將會加入新的回傳陣列中。
element:目前列舉出來陣列內的資料內容
index:目前列舉的陣列內容位於陣列的位置
array:該列舉的陣列
thisArg:callback的this
範例:
var NAS = [1,2,3,4,5];
var Android = NAS.every(function(x){return x<10;})
var iOS = NAS.every(function(x){return x%2===0;})
說明:第一行宣告一個NAS陣列,並賦予陣列內容[1,2,3,4,5],第二行將NAS陣列every一個函數回傳陣列內容小於10的結果,因為NAS陣列的內容全部都小於10,所以所有的回傳結果都會是true,所以every回傳結果為true,Android參數等於NAS陣列every的回傳直,所以Android為true,第三行將NAS陣列every一個函數回傳陣列內容除以2餘數為0的結果,因為NAS陣列的內容中位置1的值2和位置3的值4除以2的餘數是0以外其他位置的結果都會是false,所以every回傳結果為false,iOS參數等於NAS陣列every的回傳直,所以iOS為false。
Array.some(callback(element[, index[, array]])[, thisArg])
函數說明:當所有callback的回傳值為false時回傳false,否則一律回傳true
傳入參數說明:
callback:列舉每個陣列內容時執行的一段程式,回傳為true時該列舉的值將會加入新的回傳陣列中。
element:目前列舉出來陣列內的資料內容
index:目前列舉的陣列內容位於陣列的位置
array:該列舉的陣列
thisArg:callback的this
範例:
var NAS = [1,2,3,4,5];
var Android = NAS.some(function(x){return x%2===0;})
var iOS = NAS.some(isNaN)
說明:
第一行宣告一個NAS陣列,並賦予陣列內容[1,2,3,4,5],第二行將NAS陣列some一個函數回傳陣列內容除以2餘數為0的結果,因為NAS陣列的內容中位置1的值2和位置3的值4除以2的餘數是0所以some回傳結果為true,Android參數等於NAS陣列every的回傳直,所以Android為true,第三行將NAS陣列some isNaN函數,因為NAS陣列中沒有NaN值,也就是說所有的isNaN回傳都會是false,所以some回傳結果為false,iOS參數等於NAS陣列every的回傳直,所以iOS為false。
參考: JavaScript 大全(ISBN:9789862764411)