flatMap методу
flatMap методу
жаңы массивди кайтарат, ал
баштапкы массивдин ар бир элементине
методдун параметринде көрсөтүлгөн коллбэк
колдонулгандан кийин түзүлөт.
Биринчи көз карашта flatMap методу
map методуна окшош, бирок анын негизги айырмачылыгы
ал ар дайым бир өлчөмдүү массивди кайтаруусунда.
Синтаксис
let newArray = массив.flatMap(функция);
Мисал
Келгиле, flatMap методунун жардамы менен
жаңы массив алалы:
let arr = ['a', 'b', 'c'];
let res = arr.flatMap(function(elem) {
return elem + '!';
});
console.log(res);
Кодду иштетүүнүн натыйжасы:
['a!', 'b!', 'c!']
Мисал
Келгиле, сандардан турган баштапкы массивден жаңы массив алалы:
let arr = [1, 2, 3, 4, 5];
let res = arr.flatMap(function(elem) {
return elem + 2;
});
console.log(res);
Кодду иштетүүнүн натыйжасы:
[3, 4, 5, 6, 7]
Мисал
Келгиле, биринчи деңгээлдин кирилиши бар массивге
flatMap методун колдонуп көрөлү:
let arr = [1, 2, 3, [4, 5]];
let res = arr.flatMap(function getElem(elem){
return elem + 2;
});
console.log(res);
Кодду иштеткенден кийин биз функциянын шарттары кичи массивге колдонулганын, аны бир элемент катары эсептегенин көрөбүз. Ошондуктан бул методду кирилиши бар массивдерде чакыруу мааниси жок:
[3, 4, 5, '4,52']
Мисал
Эгерде биз кирилиш деңгээли менен ойлонбой,
бүт массивди бириктиргибиз келсе, анда Infinity параметрин колдонобуз:
let arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flatMap(Infinity);
console.log(res);
Кодду иштетүүнүн натыйжасы:
[
'a', 'b', 'c',
'd', 'e', 'f',
'g', 'h', 'i'
]
Мисал
Келгиле, массивге эки метод колдонолу:
flatMap жана map, ал эми эки методдун тең параметринде
массивди эки өлчөмдүү кылып жасоочу функция көрсөтүлсүн:
let arr = [1, 2, 3, 4, 5, 6];
let res1 = arr.map(elem => [elem * 3]);
let res2 = arr.flatMap(elem => [elem * 3]);
console.log('map методу', res1);
console.log('flatMap методу', res2);
Кодду иштетүүнүн натыйжасы:
'map методу' [[3], [6], [9], [12], [15], [18]]
'flatMap методу' [3, 6, 9, 12, 15, 18]
Ошондой эле караңыз
-
flatметоду,
ал кичи массивдерден массив кайтарат