如果你想成為一名優秀的JavaScript開發人員,為什么你必須學習它們。
當我開始學習JavaScript時,我發現了一個名為“為什么你不應該在你的代碼中使用for”的視頻。當我讀到這個標題時,我感到震驚。我是一個初學者程序員,在很多情況下使用for循環對我來說是必要的。然而,視頻中的男性使用了一個each。我不知道那是什么,但看起來很棒。
時間流逝,在我成為JavaScript大師的旅程中,我發現這個forEach(以及許多其他方法)是一個數組方法。我發現,在大多數情況下使用這些方法,您可以提高代碼的可讀性并減少代碼的行數(特別是如果您使用我在本文中解釋的箭頭函數)。所以,如果你能掌握它們,你就會寫出更好的代碼。
如何聲明使用這些數組方法?
你不必這樣做!這些方法是腳本中數組類型對象的一部分。因此,您只需創建一個新數組并調用這些方法。
在腳本中,數組到底是什么?
在JavaScript中,數組是一個對象,它允許我們一次存儲多個元素變量。我們可以使用一對方括號聲明一個數組。在數組中,元素將由逗號分隔,您可以存儲不同類型的元素。您可以創建字符串數組、數字數組、布爾數組等。您可以創建一個混合使用這些類型的數組。例如:
數組方法示例
有很多數組方法。如果您想了解它們,可以查看官方文檔。無論哪種方式,我都會向你發現那些我認為在我的經驗中最重要的方法,我不會提到基本的數組方法或屬性,如push(),pop(),sort()或長度。
反轉()
開發人員必須做的一件基本事情是反轉數組。這是基本的,使用JavaScript,你只需要一條指令就可以做到這一點。
請務必考慮此方法會修改原始數組。因此,如果您嘗試打印上述示例中的數組,您將獲得相同的輸出[3,2,1]。
如果您不想修改原始數組,則必須使用跨頁運算符 (...)
連接()
如果你想合并兩個數組,你可以忘記使用循環和大量的push()。現在你可以用連接()來做到這一點。此方法將復制數組中的元素,我們將這些元素作為參數傳遞給數組中的元素,我們稱之為concat()。我們也可以將其與嵌套數組一起使用。
切片()
使用 slice() 方法,您可以在新的數組對象中創建數組一部分的副本。指令的語法為:
arr.slice(startIndex , endIndex)
如果我們不提供起始索引或結束索引,則該方法將作為值 0(對于開始索引)和 de 最后索引(對于結束索引)。如果您也想以相反的方式訪問第二個參數,則可以對第二個參數使用負索引。
foreach()
使用 forEach() 方法,您將能夠為每個數組元素提供一個函數。想象一下,你必須將每個元素乘以二,你可以使用 forEach()。
如果要創建一個新數組,可以使用 map() 方法。
過濾器()
您是否曾經必須僅使用滿足條件的元素創建新數組?如果你的答案是肯定的,我敢肯定你創建了一個循環并使用if。好吧,它已經過去了,現在是現在,你必須知道firter()方法。使用此指令,您將創建一個新數組,其中包含傳遞作為參數傳遞的條件的所有元素。
減少()
reduce() 方法執行一個化簡器函數(將當前狀態和操作作為參數并返回新狀態結果的函數)。語法為:
arr.reduce(callback(accumulator, currentValue), initialValue)
累加器:回調返回的累積值。
當前值:從數組傳遞的當前元素。
初始值(可選):將在第一次調用時傳遞給 callback() 的值。例如,如果我們的計數以 10 開頭,則初始值將為 10。
為了不讓它太長,我在本文中沒有提到許多其他方法。但是,如果您想了解更多信息,我建議您搜索包含(),索引()和查找索引()。
我為什么要考慮學習這個?
因為你想成為一個更好的開發人員。
您剛剛看到,使用 JavaScript 數組方法可以減少我們必須在項目中編寫的代碼行數。您可以提高代碼的可讀性,您將了解有關JavaScript語言的更多信息。
此外,由于它們是語言的固有特性,因此程序員使用它們非常普遍。因此,您很少不使用它們并用循環填充JavaScript代碼。
您認為哪種方法最有用?你還用JavaScript的哪些其他奇怪的功能來改進你的代碼?