Sobes.tech
Junior

Kuo skiriasi foreach ir map metodai JavaScript?

sobes.tech AI

Atsakymas iš AI

forEach peržiūri masyvo elementus ir vykdo atgalinio iškvietimo funkciją kiekvienam elementui, tačiau nesukuria naujo masyvo. Jis naudojamas šalutiniams efektams, tokiems kaip išvedimas į konsolę arba išorinų kintamųjų keitimas.

map taip pat peržiūri masyvo elementus ir vykdo atgalinio iškvietimo funkciją kiekvienam elementui. Tačiau jis grąžina naują masyvą, kuriame yra šios funkcijos rezultatų kiekvienam elementui. Jis naudojamas vieno masyvo konvertavimui į kitą.

Pavyzdys su forEach:

const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Išvestis:
// 2
// 4
// 6
// numbers lieka [1, 2, 3]

Pavyzdys su map:

const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Išvestis: [2, 4, 6]
// numbers lieka [1, 2, 3]

Svarbiausias skirtumas tas, kad map yra "funkcinis" metodas, kuris nekeičia pradinio masyvo ir grąžina naują, o forEach yra skirtas atlikti veiksmus kiekvienam elementui be naujo masyvo grąžinimo.

Kriterijus forEach map
Grąžinimo reikšmė undefined Naujas masyvas
Masyvo keitimas Nesukuria naujo masyvo Sukuria naują masyvą
Pagrindinis tikslas Veiksmų atlikimas kiekvienam elementui Masyvo konvertavimas į naują masyvą
Metodų grandinėjimas Natūraliai nepalaikomas Palaikomas (grąžina masyvą)