Junior
JavaScriptте foreach жана map ыкмаларынын айырмасы эмнеде?
sobes.tech AI
AIден жооп
forEach массив элементтерин өтүп, ар бир элемент үчүн кайтаруу функциясын ишке ашырат, бирок жаңы массив түзбөйт. Ал жанама таасирлер үчүн колдонулат, мисалы, консольго чыгарып же тышкы өзгөрмөлөрдү өзгөртүү үчүн.
map да массив элементтерин өтүп, ар бир элемент үчүн кайтаруу функциясын ишке ашырат. Бирок, ал бул функциянын ар бир элементте аткарылышынын натыйжаларын камтыган жаңы массивди кайтарат. Ал бир массивди башкасына айландыруу үчүн колдонулат.
forEach менен мисал:
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Чыгуу:
// 2
// 4
// 6
// массив numbers өзгөрбөйт [1, 2, 3]
map менен мисал:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Чыгуу: [2, 4, 6]
// массив numbers өзгөрбөйт [1, 2, 3]
Негизги айырма, map — бул "функционалдуу" ыкма, ал баштапкы массивди өзгөртпөйт жана жаңы массив кайтарат, ал эми forEach негизинен ар бир элементте аракеттерди аткаруу үчүн арналган жана жаңы массив кайтарбайт.
| Критерий | forEach |
map |
|---|---|---|
| Кайтарылган мааниси | undefined |
Жаңы массив |
| Массивди өзгөртүү | Жаңы массив түзбөйт | Жаңы массив түзөт |
| Негизги максаты | Ар бир элементте аракеттерди аткаруу | Массивди башкасына айландыруу |
| Методдорду чынжырлоо | Табигый түрдө колдоого алынбайт | Колдоого алынат (массив кайтарат) |