1. 程式人生 > 其它 >關於js中map和forEach的使用

關於js中map和forEach的使用

在js的使用中,我們肯定少不了使用迴圈.但js中有二十多中迴圈,而我們通常使用for迴圈或者while迴圈.

for迴圈呢,功能很強,但是確實麻煩,今天給大夥說說同屬於迴圈的map,在一些特定情況下,map還是非常方便且快捷的.

    const arr=[1,2,3,4,5,6,7,8,9,10]
    const A =arr.map(value => value*3)
    console.log(A)//[3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

map 遍歷陣列每一個元素並呼叫回撥,並返回一個包含所有結果的陣列。

簡單來說就是在原有資料的基礎上執行函式,並將執行函式後的資料返回,形成一個新的陣列.

還有一種就是forEach迴圈,他和map不同之處呢,是不需要宣告一個新的陣列來接收返回值,forEach直接作用於陣列本身,在原陣列上進行函式操作

也是在一些特定情況下十分的方便.在此就先不做演示了

說一個map和foreach的小故事,是我親身經歷的:

在學校學習前端時,遇到一個管理員系統,登入後需要清除掉登入密碼,這裡老師帶著我們一起打的是使用的map,具體長這樣:

const students=JSON.parse(data)
                  
                    students.map(value=>delete value.password)

我當時聽的時候有點似懂非懂但看這程式碼大概說得過去,也沒什麼疑問,在我做課後複習的時候,到這裡這個map我就感覺不太對勁了——為什麼map這種會生成一個新陣列的函式,可以不宣告一個量來接受它並且還執行的沒問題.

我也請教了老師,老師說此處forEach更好一些,可我還是對這個map有疑問,因為map在沒有任何陣列來接受它的情況下仍然改變了原陣列,實現的效果和forEach一樣.

有大佬清醒還請賜教!!