我對可用于陣列的 .map() 函式有疑問。
我知道的正常用法是這樣的:
function myFunction(num) {
return num * 2;
}
const numbers = [1, 2, 3, 4];
const newArr = numbers.map((element) => myFunction(element))
但在代碼示例中,我看到了以下用法:
const resultToRow = (r: MyProductsDto) => ({
rowData: tableColumns.map(() => r),
});
在此示例中, MyProductsDto是一個介面,tableColumns是一個陣列。但究竟是什么.map(() => r)?
r不是函式而是介面,為什么箭頭函式是空的,沒有任何引數?
uj5u.com熱心網友回復:
與 tableColumns 一樣長度,將有 r[] 在rowData
它的所有值r[]也將相同,因為它有一個參考地址。
r[0] === r[1] === [r2] === [r(n)]
map 從原始陣列創建新陣列,每個元素將作為引數傳遞,但是否接受它(map 拋出的引數)不考慮map它只是創建具有給定函式回傳值的新陣列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/440330.html
標籤:javascript 数组 打字稿 功能 界面
