1.map - 方法返回一個新數組,數組中的元素為原始數組元素調用函數處理后的值(注:map不會對空數組進行檢測,不會改變原始數組)
語法:array.map(function(currentValue,index,arr), thisValue)
參數解釋:
currentValue:必須。當前元素的值
index:可選。當前元素的索引值
arr:可選。當前元素屬於的數組對象
thisValue:可選。對象作為該執行回調時使用,傳遞給函數,用作 "this" 的值。如果省略了 thisValue,或者傳入 null、undefined,那么回調函數的 this 為全局對象。
示例:
function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var results = arr.map(pow); console.log(results); // [1, 4, 9, 16, 25, 36, 49, 64, 81]
2.reduce- 方法接收一個函數作為累加器,數組中的每個值(從左到右)開始縮減,最終計算為一個值。
語法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
參數解釋:
total:必需。初始值, 或者計算結束后的返回值。
currentValue:必需。當前元素
currentIndex:可選。當前元素的索引
arr:可選。當前元素所屬的數組對象。
initialValue:可選。傳遞給函數的初始值
示例:
var arr = [1, 3, 5, 7, 9]; arr.reduce(function (x, y) { return x + y; }); // 25
3.filter - 用於把Array
的某些元素過濾掉,然后返回剩下的元素。filter()
接收一個函數把傳入的函數依次作用於每個元素,然后根據返回值是true
還是false
決定保留還是丟棄該元素.
語法:array.filter(function(currentValue,index,arr), thisValue)
參數解釋:
currentValue:必須。當前元素的值
index:可選。當前元素的索引值
arr:可選。當前元素屬於的數組對象
示例:
//在一個Array中,刪掉偶數,只保留奇數 var arr = [1, 2, 4, 5, 6, 9, 10, 15]; var r = arr.filter(function (x) { return x % 2 !== 0; }); r; // [1, 5, 9, 15]
4.sort - 用於Array排序。默認把所有元素先轉換為String再排序,也可以接收一個比較函數來實現自定義的排序(注:sort()
方法會直接對Array
進行修改,它返回的結果仍是當前Array
)
示例:
//數字大小排序 var arr = [10, 20, 1, 2]; arr.sort(function (x, y) { if (x < y) { return -1; } if (x > y) { return 1; } return 0; }); console.log(arr); // [1, 2, 10, 20]