更新時(shí)間:2023年06月01日11時(shí)35分 來源:傳智教育 瀏覽次數(shù):
forEach和map都是JavaScript數(shù)組的方法,用于對(duì)數(shù)組中的每個(gè)元素進(jìn)行操作。它們的區(qū)別在于它們的返回值和對(duì)原始數(shù)組的影響。
·forEach方法對(duì)數(shù)組中的每個(gè)元素執(zhí)行指定的操作,并沒有返回值。
·它會(huì)遍歷整個(gè)數(shù)組,并對(duì)每個(gè)元素執(zhí)行傳入的回調(diào)函數(shù)。
·forEach方法無(wú)法中斷或跳出循環(huán),無(wú)法使用return語(yǔ)句返回結(jié)果或改變?cè)紨?shù)組。
下面是forEach方法的代碼示例:
const numbers = [1, 2, 3, 4, 5]; numbers.forEach((num) => { console.log(num * 2); });
輸出結(jié)果為:
2 4 6 8 10
·map方法對(duì)數(shù)組中的每個(gè)元素執(zhí)行指定的操作,并返回一個(gè)新的數(shù)組,該數(shù)組包含了操作后的結(jié)果。
·它會(huì)遍歷整個(gè)數(shù)組,并對(duì)每個(gè)元素執(zhí)行傳入的回調(diào)函數(shù),并將返回值存儲(chǔ)在新的數(shù)組中。
·map方法不會(huì)改變?cè)紨?shù)組。
下面是map方法的代碼示例:
const numbers = [1, 2, 3, 4, 5]; const doubledNumbers = numbers.map((num) => { return num * 2; }); console.log(doubledNumbers);
輸出結(jié)果為:
[2, 4, 6, 8, 10]
在上述示例中,map方法將原始數(shù)組中的每個(gè)元素乘以2,并返回一個(gè)新的數(shù)組doubledNumbers,其中包含了乘以2后的結(jié)果。
總結(jié):
·forEach方法沒有返回值,僅用于遍歷數(shù)組執(zhí)行操作。
·map方法返回一個(gè)新的數(shù)組,其中包含對(duì)每個(gè)元素執(zhí)行操作后的結(jié)果。
北京校區(qū)