Професионална програма
Loading...
MariqnK1 avatar MariqnK1 54 Точки

Въпрос за (parameter).map(x => Number(x));

Здравейте, колеги/колежки! Какво прави този map? Четох документация, но не мога да схвана истинското му приложение в задачите ни. Примерно в тази задача:

https://pastebin.com/PyEsm5Tw

Без .map метода, джъдж се кара, но VS изкарва точен резултат.

https://judge.softuni.bg/Contests/Practice/Index/2028#0

това е входа:

solve([103014823272815172526518])

 

Може ли малко светлина? Благодаря.

Тагове:
0
JavaScript Fundamentals
MartinBG avatar MartinBG 3852 Точки
Best Answer

Както пише в документацията на Array.prototype.map():

The map() method creates a new array populated with the results of calling a provided function on every element in the calling array.

Няма какво повече да се каже по това какво прави този метод. :)

 

По въпроса ти за конкретната задача, локално минава, защото при извикването на функцията ѝ се подава масив от числа:

solve([10, 30, 14, 8, 23, 27, 28, 15, 17, 25, 26, 5, 18])

Входните данни в Judge най-вероятно идват под формата на масив от стрингове, например:

["10", "30", "14", "8", "23" ....]

Елементите на този масив трябва да се мапнат към числовите стойности и точно затова ни трябва този ред в кода:

input = input.map(x => Number(x))

След него, input е масив от числа, с които програмата може да работи.

0
29/04/2020 18:28:53
MariqnK1 avatar MariqnK1 54 Точки

Прав си, джъдж пуска входа под формата на стринг. Благдораско за отговора! =)

1