簡體   English   中英

如何在普通 function 中寫箭頭 function

[英]How to write arrow function in a normal function

是的,我看到了很多關於類似主題的建議,其中大多數都沒有解決我的問題

這是一本書中的代碼,我試圖理解箭頭 function 的工作,因為我非常習慣於正常的 function ......

謝謝你

const schools = ["Yorktown", "Washington & Liberty", "Wakefield"];
const wSchools = schools.filter(school => school[0] === "W");
console.log(wSchools);
// ["Washington & Liberty", "Wakefield"]

我已經嘗試過這種方式但沒有得到我想要的結果

const wSchools = schools.filter(function(school) {
school[0] === "W";
return school;
});

預先感謝您的詳盡解釋。

它超級簡單只需改變這個

const wSchools = schools.filter(function(school) {
   school[0] === "W";
   return school;
});

至此

const wSchools = schools.filter(function(school) {
   return school[0] === "W";
});

說明:這是根據MDN的 Arrow function 的基本語法

param => expression 

也可以寫成

(param) => { return expression }

您在代碼正確性方面正確編寫了 function,但您有一個邏輯錯誤。 使用數組過濾器時,您必須返回 true 或 false。

const wSchools = schools.filter(function(school) {
return school[0] === "W";
});

問題已得到解答,但 OP 要求了解箭頭功能,所以現在讓我們進一步了解 go:

箭頭函數只是捕獲當前代碼塊的 scope 的簡單函數。 它非常有用,我絕對鼓勵您深入了解這些內容。

您遇到的特定形式是簡潔的形式,其中 function 的主體可以簡化為單個 return 語句

拿這個常規的 function:

function(a, b) { return a === b }

它可以轉換成這個箭頭 function:

(a, b) => { return a === b }

但是由於我們的 function 只返回一個非常簡單的測試結果,我們可以通過直接省略花括號和 return 語句來縮短它:

(a, b) => a === b

漂亮而簡短,非常適合回調。

這里有一些關於箭頭函數的文獻,希望你能更好地理解它們並更舒服地使用它們,它會給你超能力:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM