我是一個初學者,正在嘗試重寫下劃線函數_.invoke
。
我正在嘗試創建該函數,以便它返回一個數組,其中包含對集合中的每個值調用該方法的結果。
_.invoke = function(collection, methodName) { var result = []; if (Array.isArray(collection)) { for (let i = 0; i < collection.length; i++) { methodName.call(collection[i]) var value = collection[i][methodName] result.push(value) } } return result }
我認為我的問題出在這一行:
methodName.call(collection[i])
- 想呼叫物件collection[i]
上的方法,但我想傳遞一些參數(如果它們包含在單元測試中)。
到目前為止,我已經嘗試使用測試: typeof(methodName) === "function"
並編寫一個函數來測試該方法是否是一個函數。
在這裡您可以使用參數來呼叫。
要測試所有項目都有一個方法:
你的意思是這樣的嗎?