[英]Can someone explain me a line of code in a function
有人可以解釋我這行代碼實際上是什么意思一步一步。
arrRes.push(fn(arr[i]));
我理解推送部分,但我很難掌握括號中的代碼。
整個函數如下所示:
function arrayCalc (arr, fn) {
arrRes = [];
for (let i = 0; i < arr.length; i++) {
arrRes.push(fn(arr[i])); // <--- this line here in the parenthesis
}
return arrRes;
};
對不起,如果這是一個愚蠢的問題,但我已經觀看了五次教程視頻,我只是無法理解該行的確切含義。
謝謝!
有一些函數fn
作為參數和數組arr
傳遞
arrRes.push(fn(arr[i]));
- 方法:
arr
取值(索引為i
)fn
arrRes
例子
function arrayCalc (arr, fn) { arrRes = []; for (let i = 0; i < arr.length; i++) { arrRes.push(fn(arr[i])); } return arrRes; }; const someArr = [1,2,3]; function someFunction(number) { return number * 10; } function someOtherFunction(number) { return `${number}_Z`; } console.log(arrayCalc(someArr, someFunction)) // [10, 20, 30] console.log(arrayCalc(someArr, someOtherFunction)) // ['1_Z', '2_Z', '3_Z']
這通常稱為映射:將函數應用於集合的每個元素...因此,如果您有一個數組 [1,2,3] 並將其映射到一個將數字乘以 2 的函數,您將以數組等於 [2,4,6]。
要計算它,您需要一個數組arr
和一個函數fn
。 然后依次對arr
每個元素應用fn
並將結果放在新集合的末尾。 你可以把它寫成:
arrRes = [];
for (let i = 0; i < arr.length; i++) {
var dummy = arr[i];
var mapped = fn(dummy);
arrRes.push(mapped);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.