一篇帶你學習unary 方法
作者:前端小智
使用方便有用的方法,以減少代碼行數,提高我們的工作效率,增加我們的摸魚時間。
使用方便有用的方法,以減少代碼行數,提高我們的工作效率,增加我們的摸魚時間。
unary 方法
功能:創建一個最多接受一個參數的函數,忽略任何附加參數。
實現
- const unary = fn => val => fn(val);
調用所提供的函數fn,只提供第一個參數。
示例
- ['6', '8', '10'].map(unary(parseInt)); // [6, 8, 10]
解釋一下
我們知道 map() 方法返回一個新數組,數組中的元素為原始數組元素調用函數處理后的值。
- array.map(function(currentValue,index,arr), thisValue)
map 回調函數有三個參數:
- currentValue:必須,當前元素的值
- index: 可選。當前元素的索引值
- arr: 可選。當前元素屬于的數組對象
在回到 我們的示例
unary(parseInt) 等價于 (val) => parseInt(val)。
- ['6', '8', '10'].map(unary(parseInt)) 等價于 ['6', '8', '10'].map((currentValue, index, arr) => parseInt(currentValue))
三次迭代的結果分別是:
- parseInt('6')
- parseInt('8')
- parseInt('10')
所以最終得到結果是 [6, 8, 10]
責任編輯:姜華
來源:
今日頭條