iT邦幫忙

0

JavaScript 陣列方法 filter(篩選)、map(對映)、forEach(遍歷)、reduce(累加/縮減)。

  • 分享至 

  • xImage
  •  

forEach() (遍歷)

for有對於的意思,each有每個的意思,合起來就是對於每個的意思。

語法:

array.forEach(callback(currentValue, index, array), thisArg)

裡面可放兩個參數callback(回呼函式)、thisArg(this引數),而thisArg的「Arg」是英文 Argument 的縮寫。

第一個參數是一個回呼函式callback(currentValue, index, array)。
裡面可以放三個參數,currentValue(目前值)、index(索引)、array(陣列,forEach()方法被呼叫時所作用的陣列)。最少必須放一個currentValue參數。

第二個參數thisArg。
是this Argument 的縮寫,可以把它想像成是把某個函式、物件、值,綁定成forEach()裡第一個參數回呼函式裡的this值。告訴 JavaScript 引擎,在執行回呼函式 (callback) 時,應該將 this 關鍵字的值設定為誰。

用途: 對陣列中的每個元素執行一個提供的函式。
回傳值: undefined(它不會回傳一個新陣列,也不會改變原始陣列)。
使用時機:對每個值執行某些事情,且沒有要使用回傳值。

reduce() (累加/縮減)

這方法的名字意思可以從兩個觀點來看。對於使用後陣列的值來說,是累加。對於使用後陣列的長度來說,是縮寫。

語法:(待更改)

用途: 對陣列的每個元素依照順序做加總、平均...等等。
回傳值:單一值。
使用時機:對每個值執行某種算法,只想要有單一值,並不想要陣列。

map() (對映)

將陣列中的每個值執行一個函式,並把結果產出一個新的陣列。執行map()後的陣列,與未執行map()後的陣列有一定的關係,可能是加法關係、減法關係、乘法關係...等等。

語法:(待更改)

用途: 對陣列的每個元素使用回呼函式後的值,產出新的陣列。
回傳值:新的陣列。
使用時機:對每個值執行某種算法,並想要回傳值新的陣列。

filter() (篩選)

有些人也會叫做過濾,我覺得兩者都很適合,怎麼叫都可以。
會根據你的條件函式,來回傳結果為true的值。若無值,則回傳[]空陣列

語法:(待更改)

用途: 對陣列的每個值執行回呼函式,回呼函式可以包含任何程式碼邏輯,但它最後的 return 語句必須產生一個布林值。
回傳值:經過執行回呼函式後,得到的新陣列。
使用時機:判斷有無符合條件的值。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言