在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一樣.
有大佬清醒還請賜教!!