Метода мапе ЈаваСцрипт Арраи () креира нови низ са резултатима позивања функције за сваки елемент низа.
Синтакса map()
методе је:
arr.map(callback(currentValue), thisArg)
Овде је арр низ.
мап () Параметри
map()
Метод узима у:
- повратни позив - функција која се позива за сваки елемент низа. Његове повратне вредности додају се у нови низ. Потребно је:
- цуррентВалуе - тренутни елемент који се преноси из низа.
- тхисАрг (опционално) - Вредност која се користи као
this
приликом извршавања повратног позива. Подразумевано јеundefined
.
Врати вредност са мапе ()
- Враћа нови низ са елементима као повратним вредностима из
callback
функције за сваки елемент.
Напомене :
map()
не мења оригинални низ.map()
извршава сеcallback
једном за сваки елемент низа редом.map()
не извршаваcallback
за елементе низа без вредности.
Пример 1: Мапирање елемената низа помоћу прилагођене функције
const prices = (1800, 2000, 3000, 5000, 500, 8000); let newPrices = prices.map(Math.sqrt); // ( 42.42640687119285, 44.721359549995796, 54.772255750516614, // 70.71067811865476, 22.360679774997898, 89.44271909999159 ) console.log(newPrices); // custom arrow function const string = "JavaScript"; const stringArr = string.split(''); // array with individual string character let asciiArr = stringArr.map(x => x.charCodeAt(0)); // map() does not change the original array console.log(stringArr); // ('J', 'a', 'v', 'a','S', 'c', 'r', 'i', 'p', 't') console.log(asciiArr); // ( 74, 97, 118, 97, 83, 99, 114, 105, 112, 116 )
Оутпут
(42.42640687119285, 44.721359549995796, 54.772255750516614, 70.71067811865476, 22.360679774997898, 89.44271909999159) („Ј“, „а“, „в“, „а“, „С“, „ц“, „р“, „р“, „р“ „т“) (74, 97, 118, 97, 83, 99, 114, 105, 112, 116)
Пример 2: мап () за елементе објекта у низу
const employees = ( ( name: "Adam", salary: 5000, bonus: 500, tax: 1000 ), ( name: "Noah", salary: 8000, bonus: 1500, tax: 2500 ), ( name: "Fabiano", salary: 1500, bonus: 500, tax: 200 ), ( name: "Alireza", salary: 4500, bonus: 1000, tax: 900 ), ); // calculate the net amout to be given to the employees const calcAmt = (obj) => ( newObj = (); newObj.name = obj.name; newObj.netEarning = obj.salary + obj.bonus - obj.tax; return newObj; ); let newArr = employees.map(calcAmt); console.log(newArr);
Оутпут
((име: 'Адам', нетЕарнинг: 4500), (име: 'Ноах', нетЕарнинг: 7000), (име: 'Фабиано', нетЕарнинг: 1800), (име: 'Алиреза', нетЕарнинг: 4600))
Напомена : map()
додељује undefined
новом низу ако се callback
функција врати undefined
или ништа.
Препоручено читање: Филтер ЈаваСцрипт низа ()